class Animal(object):
leg=“四只脚”
def init(self,name,colour):
self.name=name
self.colour=colour
@staticmethod
def run():
print(“喜欢奔跑”)
@classmethod
def eat(cls):
print(cls)
print(“喜欢吃青草”)
def shout(self):
print(self.leg)
print(f"{self.name}喜欢叫")
a1=Animal(“长颈鹿”,“黄灰色”)
a2=Animal(“小绵羊”,“白色”)
a1.run()
a1.eat()
Animal.eat()
run的结果
喜欢奔跑
<class ‘main.Animal’>
喜欢吃青草
<class ‘main.Animal’>
喜欢吃青草
总结
实例实例对象调用实例方法,不需要手动的给 self 传参,会自动传参
使用类对象调用实例方法,需要手动的给 self传参
类方法可以通过实例对象调用,也可以通过类对象调用
静态方法可以通过实例对象调用,也可以通过类对象调用
静态方法不访问实例属性,也不访问类属性