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)调用方式:类.方法名 和 实例化调用 。

  • 相关阅读:
    Redis源码剖析(十一)AOF持久化
    Redis源码剖析(一)内存管理zmalloc
    Redis源码剖析(七)压缩列表
    PHP基础课程学习总结
    php标记,变量,常量
    内容控件
    WPF 面板
    OpenSSL SSL_read: Connection was reset, errno 10054
    Java Web 项目学习(三) 发布帖子 AJAX
    控件类(ControlAndFont)
  • 原文地址:https://www.cnblogs.com/jc-home/p/15168403.html
Copyright © 2011-2022 走看看