python 类方法,静态方法,普通方法的区别

ernestwang 845 0

类方法: class Person: # 成员方法:通过对象调用 def eat(self): print('能吃是福')   # 类方法:通过类名调用 @classmethod def test(cls): # cls:表示当前类 print(cls)   # 可以创建对象 或 简单的创建对象 @classmethod def create(cls): p = cls() p.age = 1   可简洁创建对象,对外提供简易的接口。 静态方法: class Person: # 定义静态方法:也是通过类名调用,但是没有第一个表示当前类的参数 @staticmethod def test(): print('静态方法 test')   形式上(传参)的区别:   实例方法隐含的参数为类实例self,而类方法隐含的参数为类本身cls。 静态方法无隐含参数,主要为了类实例也可以直接调用静态方法。   逻辑上的区别: 类方法被类调用,而且因为传入了参数cls,故也可以由实例来调用,实例方法被实例调用,(普通方法)应该由实例调用,类不能调用。静态方法两者都能调用。   三种方法和属性的关系 实例方法(普通方法)————随着实例属性的改变而改变   类方法(无论是类调用还是实例调用———都是类属性的值,不随实例属性的变化而变化   静态方法—————不可以访问类属性,故直接输出传入方法的值  

标签: 静态方法 python类 python实例

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~

复制成功
微信号: irenyuwang
关注微信公众号,站长免费提供流量增长方案。
我知道了