类方法、实例方法和静态方法,实质是内存空间不一样,三种方法的创建和调用需要注意,同样的,类属性和实例属性,类对象和实例对象都需要理解,公有属性可以设置为类属性,特有属性可以设置为实例属性,类方法、实例方法和静态方法都放在类对象中,实例对象可直接调用。
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
原文地址:https://www.cnblogs.com/eric818/p/10201708.html
时间: 2024-10-24 20:54:24