关于python的类成员方法允许静态调用的机制

关于python的类成员方法允许静态调用的机制,第1张

概述这里有几个结论:1、py的class里面的方法都可以直接调用而不用先实例化,但是要传self参数,也可以实例化后使用,实现的效果不一样2、加了@classmethod修饰的成员方法,有self参数,偏向于获取不需要__init__调用的成员,直接调用的时候,不用self传参,读取的成员属性是未__init__的值,即使__init

这里有几个结论:

1、py的class里面的方法都可以直接调用而不用先实例化,但是要传self参数,也可以实例化后使用,实现的效果不一样

2、加了@classmethod修饰的成员方法,有self参数,偏向于获取不需要__init__调用的成员,直接调用的时候,不用self传参,读取的成员属性是未__init__的值,即使__init__有执行(实例化)

3、加了@staticmethod修饰的成员方法,偏向于获取该成员方法本身,没有self参数

 

验证代码如下:

1、

 

 

 

 注意,直接调用hi的时候,是需要传入参数的,因为直接调用相当于静态调用,而根据第三点,静态方法是没有self参数的,所以实际上hi的参数就是必须要传的真参,但是传进去的self是b,所以会报h不存在。

2、

 

注意:此处h的值没有受__init__的影响

3、

 

注意:此处hi成员方法已经没有self参数,对比 classmethod更加的孤立。

   总结

以上是内存溢出为你收集整理的关于python的类成员方法允许静态调用的机制全部内容,希望文章能够帮你解决关于python的类成员方法允许静态调用的机制所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1158137.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存