zoukankan      html  css  js  c++  java
  • 面向对象之-@classmethod、@staticmethod和@classonlymethod的区别

    实例方法、静态方法与类方法的含义

      实例方法(普通方法)的含义就是需要类对象实例之后才能调用的方法,该方法的基本格式为:

    def test(self,*args,**kwargs): # 第一个参数必须是self
         print("test")

      静态方法:使用装饰器@staticmethod装饰的方法称为静态方法,但是此类方法没有self参数,且参数的个数是任意的。

      类方法:使用装饰器@classmethod装饰的方法称为类方法,但是此类方法第一个参数为cls,用于标示该类方法所属的类。

      @classonlymethod:只允许使用类对象.方法() 的形式进行调用,不允许使用类对象实例的方式进行调用

      需要说明的是,静态方法和类方法都可以不实例化类对象直接通过类.方法名的形式进行调用,调用方法也都需要加括号

  • 相关阅读:
    python3----练习题(斐波那契)
    python3----运算符
    python3----函数、匿名函数
    python3----生成器generator(yield)
    Python捕获异常
    OS模块
    发送邮件
    IO文件读写
    Unittest框架概念
    生成报告
  • 原文地址:https://www.cnblogs.com/liuyinzhou/p/9287757.html
Copyright © 2011-2022 走看看