类方法、实例方法和静态方法

类方法、实例方法和静态方法,实质是内存空间不一样,三种方法的创建和调用需要注意,同样的,类属性和实例属性,类对象和实例对象都需要理解,公有属性可以设置为类属性,特有属性可以设置为实例属性,类方法、实例方法和静态方法都放在类对象中,实例对象可直接调用。

 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     

猜你喜欢

转载自www.cnblogs.com/eric818/p/10201708.html