python方法

方法:

实例方法:

class myclass:
    def foo(self):
        print(id(self))#id打印地址
a=myclass()#创建实例
b=myclass()
print(id(a))
a.foo()
b.foo()
注意:只能通过实例调用,第一个定义的参数只能是实例本身的引用
所以a调用的方法和本身print打印的id地址相同,然而声明的
另一个实例调用的同一个方法,id地址是不一样的,用myclass
调用的实例方法,书写是不会报错,运行结果报错,所以不能被类调用


类方法:
class myclass:
    @classmethod    #装饰器
    def foo2(self):#实例方法
         print(id(self))
a=myclass()#创建实例
b=myclass()
myclass.foo2()#类调用
a.foo2()#实例调用


注意:
定义类方法要使用装饰器@classmethod,定义的第一个参数只能是类对象的引用,可以通过类或实例直接调用,
这里类和实例打印出来的id地址一样,所以可以被类和实例调用

静态方法
class myclass:
     @staticmethod
     def foo3():#没有默认的必须参数
         print()
a=myclass()#创建实例
b=myclass()
# myclass.foo3()
# a.foo3()
注意:定义静态方法试用装饰器@staticmethod,没有默认的必须参数,


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值