類的特殊成員方法
1.__doc__:列印類的描述資訊
class foo:2.__module__:表示當前操作的物件在那個模組""" 描述類資訊,這是用於看片的神奇 """
def func(self):
pass
print foo.__doc__
#輸出:類的描述資訊
class c:3.__class__:表示當前操作的物件的類是什麼def __init__(self):
self.name = 'wupeiqi'
from lib.aa import c4. __init__ :構造方法,通過類建立物件時,自動觸發執行obj = c()
print obj.__module__ # 輸出 lib.aa,即:輸出模組
print obj.__class__ # 輸出 lib.aa.c,即:輸出類
class role(object):5.__del__:析構方法,當物件在記憶體中被釋放時,自動觸發執行#初始化函式,在生成乙個角色時要 初始化的一些屬性就填寫在這裡
def __init__(self,name,role,weapon,life_value=100,money=15000):
#__init__中的第乙個引數self,和這裡的self都 是什麼意思? 看下面解釋
self.name = name
self.role = role
class role(object):6.__call__:物件後面加括號,觸發執行def __init__(self,name,role,weapon:
self.name = name
self.role = role
self.weapon = weapon
def __del__(self): #析構函式
print("del.....run...")
r1 = role('alex','police','ak47') #生成乙個角色
#注:構造方法的執行是由建立物件觸發的,即:物件 = 類名() ;而對於 __call__ 方法的執行是由物件後加括號觸發的,即:物件() 或者 類()()7.__dict__:檢視類或物件中的所有成員class foo:
def __init__(self):
pass
def __call__(self, *args, **kwargs):
print '__call__'
obj = foo() # 執行 __init__
obj() # 執行 __call__
print(類.__dict__) # 列印類裡所有屬性,不包括例項屬性8.__str__:如果乙個類中定義了__str__方法,那麼在列印 物件 時,預設輸出該方法的返回值print(例項.__dict__) #列印例項所有屬性,不包括類屬性
class foo:9.__getitem__、__setitem__、__delitem__:注:用於索引操作,如字典。以上分別表示獲取、設定、刪除資料def __str__(self):
return 'alex li'
obj = foo()
print obj
# 輸出:alex li
class foo(object):10.__new__\__metaclass__ *(自定義類)__new__:是用來建立例項的,對類例項化之前進行定製,可以用到。__metaclass__:定義乙個類如何被建立類的生成 呼叫 順序依次是 __new__ --> __init__ --> __call__def __getitem__(self, key):
print('__getitem__',key)
def __setitem__(self, key, value):
print('__setitem__',key,value)
def __delitem__(self, key):
print('__delitem__',key)
obj = foo()
result = obj['k1'] # 自動觸發執行 __getitem__
obj['k2'] = 'alex' # 自動觸發執行 __setitem__
del obj['k1']
#建立類特殊方式
deffunc(self):
(self.name,self.age)
def__init__
(self,name,age):
self.name =name
self.age =age
#通過type例項化產生的foo類,foo是type的物件。
#(object,)加入「,」是為了讓括號知道他是個元組。
#type第乙個引數:類名
#type第二個引數:當前類的基類
#type第三個引數:類的成員
foo = type('
foo',(object,),)
f= foo("
chrn
",22)
f.talk()
(type(foo))
#type 為 類的類,所有類都是type建立的
卿先生 閱讀(
...)
編輯收藏
Python 類的特殊成員方法
1.doc 描述類的資訊 class foo object 單引號和雙引號都可以 這裡描述類的資訊 def func self pass print foo.doc 這裡描述類的資訊2.call 物件後面加括號,觸發執行 call 方法的執行是由物件加括號觸發的,即 物件 或者 類 class fo...
Python 類的特殊成員方法
1.doc class person object 這個類是描述人這個物件的 print person.doc 列印類的描述資訊 2.call 物件後面加 觸發執行 class person object 這個類是描述人這個物件的 def init self name self.name name ...
python 類的特殊成員方法
doc 輸出類的描述資訊 module 表示當前操作的物件在那個模組 class 表示當前操作的物件的類是什麼 init 構造方法,通過類建立物件是,自動觸發執行。del 構造方法,當物件在記憶體中釋放是,自動觸發執行。call 物件後面加括號,觸發執行 注 構造方法的執行是由建立物件觸發的,即 物...