python查看类有哪些方法

python类有三种方法。

1、一般方法

即不加任何修饰的,直接用def定义的方法。如:

In [14]: class A:
    ...:     def a(self):
    ...:         print('一般方法')
    ...:
In [15]: class_A = A()
In [16]: class_A.a()
一般方法

相关推荐:《Python教程》

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