今天的內(nèi)容是幾個(gè)內(nèi)置函數(shù)
1__名字__
類中的特殊方法\內(nèi)置方法
雙下方法
魔術(shù)方法 magic_method
類中的每一個(gè)雙下方法都有它自己的特殊意義
2__call__方法相當(dāng)于調(diào)用 對(duì)象()
代碼塊
class A:
def __call__(self, *args, **kwargs):
print('我正在調(diào)用__call__方法')
class B:
def __init__(self,name):
self.name=name() #相當(dāng)于self.name=A()
self.name()
A()() #我正在調(diào)用__call__方法
#
B(A) #我正在調(diào)用__call__方法
3__len__方法
內(nèi)置函數(shù)和類的內(nèi)置方法是由奸情的
代碼塊
class mylist:
def __init__(self): #方法也可以不傳參,直接輸入指定參數(shù)
self.lst = [1,2,3,4,5,6]
self.name = 'alex'
self.age = 83
def __len__(self):
print('執(zhí)行__len__了')
return len(self.__dict__)
l = mylist()
print(len(l))
len(obj)相當(dāng)于調(diào)用了這個(gè)obj的len方法
len方法return的值就是len函數(shù)的返回值
如果一個(gè)obj對(duì)象沒有len方法,那么len函數(shù)會(huì)報(bào)錯(cuò)
別跑稚疹,點(diǎn)個(gè)贊再走