Python 静态方法
静态方法与对象引用( self )或类引用( cls )不同之处在于,静态方法没有强制性参数。Python标准库中的函数staticmethod()返回一个静态方法。
在下面的Employee类中,一个方法被转换成了静态方法。现在可以通过对象或类本身的引用来调用这个静态方法。
class Employee:
empCount = 0
def __init__(self, name, age):
self.__name = name
self.__age = age
Employee.empCount += 1
#@staticmethod
def showcount():
print (Employee.empCount)
return
counter = staticmethod(showcount)
e1 = Employee("Bhavana", 24)
e2 = Employee("Rajesh", 26)
e3 = Employee("John", 27)
e1.counter()
Employee.counter()
Python还有@staticmethod装饰器,方便地返回一个静态方法。
@staticmethod
def showcount():
print (Employee.empCount)
e1.showcount()
Employee.showcount()