Python 类方法,静态方法,实例化方法

今天学习方法中的类方法,静态方法还有实例化方法。
下面看一段代码:

class ee:   //类
    def gg(self):  //实例化方法
        print(id(self))  
    @classmethod    //类方法
    def dd(self):
        print(id(self))
    @staticmethod   // 静态方法
    def ss():
        print(123)

d = ee()
e = ee()
d.gg()
e.gg()
d.dd()
e.dd()
d.ss()

下面是结果:

2212904264704  //d.gg()
2212904264760  //e.gg()
2212869157352  //d.dd()
2212869157352  //e.dd()
123            //d.ss()

根据上面的代码可以看出实例化方法和普通方法一样声明,而类方法和静态方法是用修饰符声明的
1.类方法使用@classmethod 修饰
2.静态方法使用 @staticmethod修饰
3.实例化方法不变
除了以上明显的区别外还有:
1.实例化方法只能通过实例调用,实例化的第一个定义的参数只能是实力本身的引用

2.类方法定义的第一个参数只能是类对象的引用,可以通过类或者实例直接调用

3.静态方法没有默认的必须参数,可以通过类或实例调用

 根据结果可以看出实例化方法每次调用的类id都不同而类方法每次调用都一样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值