class Cat_yellow: # 表示:一类东西
color = "黄色" # 类属性:这类东西的属性
def __init__(self, name): # 构造函数,构造一个具体对象,也叫实例化一个具体的对象
self.name = name # 实例属性,具体某一个东西的属性
def Buy(self): # 实例函数,具体对象调用的方法
print(f"名字:{self.name}")
print(f"颜色:{self.color}")
@classmethod
def check(cls): # 类函数,可以拿类的固定属性,也就是控制一类东西的方法
print(cls.color)
@staticmethod
def static(): # 静态方法,与该类无关系,相当与普通函数,只是用到了这个类的数据,方法跟此类挂钩,放在类里面,好管理
print("无关系的")
if __name__ == '__main__':
a = Cat_yellow("大母猫") # 创建一个具体的东西
a.Buy() # 控制这个具体的东西,做什么
Cat_yellow.check() # 控制一类东西做什么
a.check() # 可以控制一类,当然也包括控制一个具体的东西
a.static() # 没有关系,当然用什么都方式都可以调用
Cat_yellow.static()
- 实例方法:实例函数,具体对象调用的方法
- 类方法:类函数,可以拿类的固定属性,也就是控制一类东西的方法
- 静态方法:静态方法,与该类无关系,相当与普通函数,只是用到了这个类的数据,方法跟此类挂钩,放在类里面,好管理
结论
- 不同的方法,控制不同的东西。
- 类方法,控制一类行为;
- 实例方法,控制具体一个的行为;
- 静态方法,相当与普通函数,只是用到了这个类的数据,方法跟此类挂钩,放在类里面,好管理