__new__:生成實例
__init__:生成實例的屬性
__call__:實例對象加()會執行def__call__:...方法里邊的內容。
__del__:析構方法,當對象在內存中被釋放時,自動觸發執行。如當delobj或者應用程序運行完畢時,執行該方法里邊的內容。
__enter__和__exit__:出現with語句,對象的__enter__被觸發,有返回值則賦值給as聲明的變量;with中代碼塊執行完畢時執行__exit__里邊的內容。
__module__:表示當前操作的對象在那個模塊obj.__module__
__class__:表示當前操作的對象的類是什么obj.__class__
__doc__:類的描述信息,該描述信息無法被繼承
__str__:改變對象的字符串顯示print函數--->obj.__str__()
__repr__:改變對象的字符串顯示交互式解釋器--->obj.__repr__()
__format__:自定制格式化字符串
__slots__:一個類變量用來限制實例可以添加的屬性的數量和類型
__setitem__,__getitem,__delitem__:
classFoo:
def__init__(self,name):
self.name=name
def__getitem__(self,item):
print(self.__dict__[item])
def__setitem__(self,key,value):
self.__dict__[key]=value
def__delitem__(self,key):
print('delobj[key]時,我執行')
self.__dict__.pop(key)
def__delattr__(self,item):
print('delobj.key時,我執行')
self.__dict__.pop(item)
f1=Foo('sb')
f1['age']=18
f1['age1']=19
delf1.age1
delf1['age']
f1['name']='alex'
print(f1.__dict__)
__get__():調用一個屬性時,觸發
__set__():為一個屬性賦值時,觸發
__delete__():采用del刪除屬性時,觸發
__setattr__,__delattr__,__getattr__:
以上內容為大家列舉了Python面向對象中帶雙下劃線的特殊方法,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。