
python类有三种方法。
1、一般方法
即不加任何修饰的,直接用def定义的方法。如:
In [14]: class A:
    ...:     def a(self):
    ...:         print('一般方法')
    ...:
In [15]: class_A = A()
In [16]: class_A.a()
一般方法
2、staticmethod方法
经过staticmethod修饰过的类方法无需实例化即可被调用,而且该类方法不再需要self作为第一参数。
In [107]: class A: ...: @staticmethod ...: def foo(x): ...: print(x) ...: In [108]: A.foo(1)
这样做的好处是,以后重构类的时候不需要修改init函数,只要额外添加需要处理的函数,然后使用@staticmethod修饰即可。
3、classmethod方法
类方法经 classmethod 修饰后无需实例化即可被调用,而且该类方法的第一参数不再是self,而是cls,表示类本身。
In [20]: class B:
    ...:     a = 1
    ...:     def __init__(self):
    ...:         print('init class A')
    ...:     @classmethod
    ...:     def func1(cls):
    ...:         print('classmehod func1')
    ...:         print(cls.a)
    ...:
In [21]: B.func1()
classmehod func1
1
                        神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试
 
                     
                


