python@classmethod,@staticmethod ,def 静态方法,类方法,普通方法

本文深入探讨了Python中类的方法类型,包括实例方法、静态方法和类方法的定义及调用方式,通过具体示例展示了不同方法的特点和使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


# coding = utf-8
class Test(object):
    def __init__(self, name):
        self.age = 33
        self.name = name
        
    #  普通方法,只能被对象调用
    def walk(self, place):
        print place, self.walk.__name__, self
        
    #静态方法既可以被对象也可以被类名称调用
    @staticmethod
    def play(string):
        print string
        
     #可以被对象也可以被类名称
    @classmethod
    def eat(cls, food):
        print food, cls, cls.walk.__name__
if __name__ == "__main__":
    Test('Jack').walk('shenzhen')  #普通方法仅仅可以被对象调用其实我两步合在一起了
    Test('Jack').play('water')   #静态方法 被对象调
    Test.play('fire')   # 静态方法被类名称调
    Test('jack').eat('apple')  # 类方法被对象调
    Test.eat('tomato')   # 类方法被类名称调

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值