01.11 - 类方法–类方法静态方法

1. 对象方法:

  • a. 怎么声明:直接声明在类中
  • b. 特点:自带self参数,调用的时候不用传参,谁调用指向谁
  • c. 怎么调用:对象.方法()

2. 类方法:

  • a. 怎么声明:声明函数前就加@classmethod
  • b. 特点:自带默认参数cls,调用的不用传参,系统会自动调用当前函数的类传给它(cls是谁调用就指向谁)
  • c. 怎么调用: 通过类来调用,类.方法(),类方法就是用类调用,类能做的事情,cls都能做,比如创建对象

3. 静态方法

  • a. 怎么声明:声明函数前加@staticmethod
  • b. 特点:没有默认参数
  • c. 怎么调用:通过类来调用,类.func()

4. 在类中怎么选择使用哪种方法:

  • 如果实现类中的函数的功能需要使用对象的属性,那么这个函数就要声明成对象方法
  • 实现函数的功能不需要对象的属性的前提下,如果需要类的字段,就声明成类方法
  • 若既不需要对象属性,又不需要类的字段,就声明成静态方法
def main():
    class Ql_Person:  # 
        num = 61

        def __init__(self, x):
            self.name = x

        @classmethod
        def func2(cls):  #
            print('我是类方法2')

        @classmethod
        def func1(cls):
            print(cls)
            print('我是类方法1')
            cls.num = 100
        
        @ staticmethod
        def func3():
            print('我是静态方法')
        
        def func4(self):
            print(self.name)    
            print(Ql_Person.num)
     
    Ql_Person.func1()
    Ql_Person.func3()



if __name__ == '__main__':
    main()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • “你为什么当初满怀希望的来?” “因为 热爱啊” “那为什么现在如此失望的走” “因为 热爱吧”
    肆拾壹秒阅读 373评论 2 3
  • 今天是周二,天气非常好,美中不足就是风有点大,今天不用我送孩子,我可以睡懒觉了。 下午我去接的孩...
    夏雯敏阅读 164评论 0 0
  • 夜思 漫天飞雪夜难寐, 心忧故国还旧都。 七十...
    凯瑟阅读 162评论 0 1
  • 我可能不会爱你里面,程又青说过,有人喜欢黏不拉叽的过程,有人喜欢干净利落的结果。 我一直以为我是后者,现在才知道我...
    橙子fa阅读 356评论 0 0
  • 小白投资心理解剖 相信大家都对区块链并不陌生,我去年机缘巧合,也参与购买了一些数字币。所谓的数字币就类似大家熟悉的...
    林中溪水响叮咚阅读 248评论 1 0