日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python特殊函数__str__、__repr__和__len__

發布時間:2023/12/2 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python特殊函数__str__、__repr__和__len__ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.__str__

首先介紹__str__

class Students(object):def __init__(self, *args):self.names = args

# def __str__(self): #   return str(self.names) # __repr__ = __str__ ss = Students('hyq','ysy') ss>>><__main__.Students at 0x2075a779828>

打印類對象顯示的是對象的內存地址,下面重構__repr__和__str__方法

再看:

class Students(object):def __init__(self, *args):self.names = argsdef __str__(self):return str(self.names) # def __repr__(self): # return str(self.names) ss = Students('hyq','ysy') ss>>><__main__.Students at 0x2075a78a860> class Students(object):def __init__(self, *args):self.names = args

# def __str__(self): # return str(self.names)def __repr__(self):return str(self.names) ss = Students('hyq','ysy') ss>>>('hyq', 'ysy')

可以看到,重構__repr__方法后,直接輸出對象,能夠按照__repr__中定義的格式進行顯示;

而重構__str__方法后,直接輸出對象,顯示的是對象的內存地址,并不是__str__定義的格式

當然,用print都能夠顯示__repr__和__str__定義的格式

class Students(object):def __init__(self, *args):self.names = args

# def __str__(self): #   return str(self.names)def __repr__(self):return str(self.names) ss = Students('hyq','ysy') print(ss)>>>('hyq','ysy')————————————————————————————————————————————分割線———————————————————————————————————— class Students(object):def __init__(self, *args):self.names = argsdef __str__(self):return str(self.names) # def __repr__(self): # return str(self.names) ss = Students('hyq','ysy') print(ss)>>>('hyq','ysy')

注意:

在代碼中一般寫成:

def __str__(self):return str(self.names) __repr__ = __str__

2.__len__

如果一個類表現得像一個list,要獲取有多少元素,就得用len()函數

要讓len()函數正常工作,類必須提供一個特殊方法__len__(),返回元素的個數

class Students(object):def __init__(self, *args):self.names = argsdef __len__(self):return len(self.names)ss = Students('hyq','ysy') print(len(ss)>>>2

?

轉載于:https://www.cnblogs.com/yqpy/p/9286047.html

總結

以上是生活随笔為你收集整理的python特殊函数__str__、__repr__和__len__的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。