類方法、例項方法和靜態方法
阿新 • • 發佈:2018-12-31
類方法、例項方法和靜態方法,實質是記憶體空間不一樣,三種方法的建立和呼叫需要注意,同樣的,類屬性和例項屬性,類物件和例項物件都需要理解,公有屬性可以設定為類屬性,特有屬性可以設定為例項屬性,類方法、例項方法和靜態方法都放在類物件中,例項物件可直接呼叫。
1 # coding:utf-8 2 3 class Province(object): 4 country = "中國" # 類屬性 5 6 def __init__(self,name): 7 self.name = name 8 9 # 例項方法10 def print_message(self): 11 print("例項方法") 12 13 # 類方法 14 @classmethod 15 def print_msg(cls): 16 print("類方法") 17 18 # 靜態方法 19 @staticmethod 20 def print_staticmethod(): 21 print("靜態方法") 22 23 24 p = Province("湖南省") # 建立一個例項物件,首先呼叫__new__方法開闢記憶體空間,之後呼叫__init__方法進行初始化25 p.print_message() 26 p.print_msg() 27 p.print_staticmethod() 28 29 Province.print_msg() 30 Province.print_staticmethod() # 從以上可以看出,例項物件可以呼叫三種方法,而類物件只能呼叫類方法和靜態方法 31 32 print(p.__class__.country) 33 print(Province.country) # 從以上可以看出,例項物件和類物件都可以呼叫類屬性,只是在所區別而已 34 35