class bird:
# classmethod修飾的方法是類方法
@classmethod
def fly (cls):
print('類方法fly: ',cls)
# staticmethod修飾的方法是靜態方法
# @staticmethod
def info (p):
print('靜態方法info: ', p)
if __name__ == '__main__':
# 呼叫類方法,bird類會自動繫結到第乙個引數
bird.fly() #①
# 呼叫靜態方法,不會自動繫結,因此程式必須手動繫結第乙個引數
bird.info('crazyit')
# # 建立bird物件
b = bird()
# # 使用物件呼叫fly()類方法,其實依然還是使用類呼叫,
# # 因此第乙個引數依然被自動繫結到bird類
b.fly() #②
# # 使用物件呼叫info()靜態方法,其實依然還是使用類呼叫,
# # 因此程式必須為第乙個引數執行繫結
b.info('網路毒劉')
例項方法只能被例項物件呼叫,靜態方法(由@staticmethod裝飾的方法)、類方法(由@classmethod裝飾的方法),可以被類或類的例項物件呼叫。
例項方法,第乙個引數必須要預設傳例項物件,一般習慣用self。
靜態方法,引數沒有要求。
類方法,第乙個引數必須要預設傳類,一般習慣用cls。
Python黑魔法遠端控制開機的例項
python黑魔法 只要知道你電腦的ip,遠端控制便可開機,嘻嘻 只能用來學習哦 不可惡作劇哈 def wake up request,mac dc 4a 3e 78 3e 0a mac mac broadcast 192.168.0.255 if len mac 17 raise valueerr...
Python黑魔法 元類
python黑魔法 元類 術語 元程式設計 指的是程式具有編寫或操縱其自身作為它們資料的潛力。python支援稱為元類的類的元程式設計。元類是乙個深奧的物件導向程式設計 oop 概念,隱藏在幾乎所有的python 之後。無論你是否意識到它的存在,你都一直在使用它們。大多數情況下,你並不需要了解它。而...
python 黑魔法之編碼轉換
我們在使用其他語言的庫做編碼轉換時,對於無法理解的字元,通常的處理也只有兩種 或三種 但是在複雜的現實世界中,由於各種不靠譜,我們處理的文字總會出現那麼些不和諧因素,比如混合編碼。在這種情況下,又回到了上面的處理辦法。那麼問題來了,python有沒有更好地辦法呢?答案是,有!python的編碼轉換流...