#1.__doc__class person(object):
'''這個類是描述人這個物件的
'''print(person.__doc__) #
列印類的描述資訊
#2. __call__物件後面加
(),觸發執行
class person(object):
'''這個類是描述人這個物件的
'''def
__init__(self
,name):
self.name=name
def
__call__(self
,*args,**kwargs):
print("work call"
,args,kwargs)
a=person("xiaofang")
a(1,2,
3,***='f')
#3.__dict__檢視類或物件中的所有成員
class person(object):
'''這個類是描述人這個物件的
'''b="xiaohua"
def
__init__(self
,name):
self.name=name
def
__call__(self
,*args,**kwargs):
print("work call"
,args,kwargs)
print(person.__dict__) #
列印類中所有成員以字典方式
c=person("xiaoqian")
print(c.__dict__) #
只列印例項屬性,不列印類屬性
#4.__str__如果乙個類中定義了
__str__
方法,則在列印物件時預設輸出該方法的返回值
class person(object):
'''這個類是描述人這個物件的
'''b="xiaohua"
def
__init__(self
,name):
self.name=name
def
__str__(self):
return
"%s"%self.name
c=person("xiaoqian")
print(c) #
結果為xiaoqian
#5.__getitem__,__setitem__,__delitem__class foo(object):
def
__init__(self):
self.data={}
def
__getitem__(self
,key):
print('__getitem__'
,key)
return
self.data.get(key)
def
__setitem__(self
,key,value):
print('__setitem__'
,key,value)
self.data[key]=value
def
__delitem__(self
,key):
print('__delitem__'
,key)
obj=foo()
result=obj['k'] #
自動觸發執行
__getitem__
obj['k1']='xiaopeng'
#自動觸發執行
__setitem__
del obj['k1'] #
觸發__delitem__
並非真實刪除
print(obj['k1'])
Python 類的特殊成員方法
1.doc 描述類的資訊 class foo object 單引號和雙引號都可以 這裡描述類的資訊 def func self pass print foo.doc 這裡描述類的資訊2.call 物件後面加括號,觸發執行 call 方法的執行是由物件加括號觸發的,即 物件 或者 類 class fo...
python 類的特殊成員方法
doc 輸出類的描述資訊 module 表示當前操作的物件在那個模組 class 表示當前操作的物件的類是什麼 init 構造方法,通過類建立物件是,自動觸發執行。del 構造方法,當物件在記憶體中釋放是,自動觸發執行。call 物件後面加括號,觸發執行 注 構造方法的執行是由建立物件觸發的,即 物...
python講解類的特殊成員方法
class dog object 這個類是描述狗這個物件的 def init self,name self.name name staticmethod 實際上跟類沒有什麼關係了。eat和類的關係截斷了,只是類下面函式 靜態方法 只是名義上歸類管理,實際上在靜態方法裡訪問不了類或例項中的任何屬性 d...