zoukankan      html  css  js  c++  java
  • Python 实例、类方法和静态方法

    # 先编写一个类包含实例、类方法和静态方法
    class
    MyClass: def method(self): return 'name', self @classmethod def classmethod(cls): return 'class name', cls @staticmethod def staticmethod(): return 'static name'

    1、实例方法、类方法和静态方法比较

    实例方法:不需要任何装饰器,第一个参数self,代表类的实例

    (1)  变量使用范围:可以直接使用,类里面任何的任何变量比如self.url、is_running

    (2) 是否可以调用其他方法: 可以调用静态方法

    (3) 是否需要实例化: 是

    (4)调用方式:实例化Myclass().method() ,或者调用函数内部 self.xxx

    类方法:需要classmethod装饰。第一参数cls,代表类本身,相当于类名

    (1) 变量使用范围:不可以直接使用实例变量,比如self.url

    (2) 是否可以调用其他方法: 可以调用静态方法。也可以调用实例方法

    (3) 是否需要实例化: 否

    (4)调用方式:类.方法名 和 实例化调用 。

    静态方法:需要staticmethod装饰。完全独立于类

    (1) 变量使用范围:不能使用类中任何变量。

    (2) 是否可以调用其他方法: 不可以调用类方法。也不能调用实例方法。但是可以调用类中其他静态方法

    (3) 是否需要实例化: 否

    (4)调用方式:类.方法名 和 实例化调用 。

  • 相关阅读:
    linux系统日志使用
    C# progressbar 用法
    python 新时代
    linux 常用命令 集锦
    c# DirectoryInfo类 详解
    哈佛(转)
    寒门难再出贵子
    排序算法
    JavaScript弹出框
    js中innerHTML与innerText的用法与区别
  • 原文地址:https://www.cnblogs.com/jc-home/p/15168403.html
Copyright © 2011-2022 走看看