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

 

 

posted @ 2021-08-20 22:27  Jc_code  阅读(73)  评论(0编辑  收藏  举报