要在类中使用静态方法,需在静态方法前面加上@staticmethod标记符,以表示下面的成员函数是静态函数。
使用静态方法的好处:其函数不需要self参数,可以通过类调用该方法,不需要定义该类实例(当然通过类实例调用也没有问题)。
#coding:utf-8
class A:
def function(self):
print "Call nomal method"
@staticmethod #静态方法
def Function1():
print "Call static method"
@classmethod #类方法
def Function2(cls):
print "Call class method"
print "cls.__name__ is ",cls.__name__
if __name__ == '__main__':
a = A() #类实例化
a.function() #调用类中普通方法
A.Function1() #调用类中静态方法
A.Function2() #调用类中类方法
Call nomal method
Call static method
Call class method
cls.__name__ is A