classmethod,staticmethod,还有类里面一般的的method有什么区别

 > > 定义方式,传入的参数,调用方式都不相同。
> >
> > staticmethod 不需要传入self和cls对象,只有一般的参数。可以通过实例或类对象进行调用。
> > classmethod需要传入cls对象,可以通过实例和类对象进行高用。
> > 一般的method需要传入self实例对象。
>
> 参与讨论一下:
>
> 从学习java中类比过来,
> 如果在一个文件范围内(文件中定义有类,类中还定义有方法):
> staticmethod相当于在一个包(文件)被导入时,这个方法在内存中就相应产生了。我们可以对它进行调用。
>
> classmethod相当于在一个类被声明时(没有定义,这时还没有类的实例),这个方法在内存中相应产生,我们可对其进行调用。
>
> 第三种就是一般的方法,需要在声明并定义一个类,这时产生了类的实例,内存中才能得到这个实例的地址,这时才可以调用。
>
>
其实方法就是代码,python在导入模块时会进行编译处理(如果需要的话),这时我想三种方法应该都已经存在了。所以这三种方法的生成时间倒不是什么问题,它们处理的范围和起到的作用是用来进行区分的依据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值