1. 程式人生 > >類方法、實例方法和靜態方法

類方法、實例方法和靜態方法

odi message 實例方法 屬性 init 靜態 靜態方法 類屬性 註意

類方法、實例方法和靜態方法,實質是內存空間不一樣,三種方法的創建和調用需要註意,同樣的,類屬性和實例屬性,類對象和實例對象都需要理解,公有屬性可以設置為類屬性,特有屬性可以設置為實例屬性,類方法、實例方法和靜態方法都放在類對象中,實例對象可直接調用。

 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

類方法、實例方法和靜態方法