对象方法的类方法和静态方法

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传参

类方法可以通过实例对象调用,也可以通过类对象调用

静态方法可以通过实例对象调用,也可以通过类对象调用
静态方法不访问实例属性,也不访问类属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值