Python静态方法
来自CloudWiki
概念
静态函数通过@staticmethod修饰;
通常采用类的名称或者实例来调用静态方法,例如:Person.show(), p,show();
静态方法,其实就是我们学过的函数,和函数唯一的区别是,静态方法定义在类这个空间(类命名空间)中,而函数则定义在程序所在的空间(全局命名空间)中。
静态方法没有类似 self、cls 这样的特殊参数,因此 Python 解释器不会对它包含的参数做任何类或对象的绑定。也正因为如此,类的静态方法中无法调用任何类属性和类方法。;
代码
class Person: __name = 'james' __age = 12 #类方法 @classmethod #类方法的关键字 def show(cls): print(cls.__name,cls.__age) #初始化方法 def __init__(self,name,age): self.name = name self.age = age #对象方法 def getName(self): return self.name def printInfo(self): print(self.name,self.age) #静态方法 @staticmethod def compute(num): print(Person.__name) for i in range(0,num): print(i) if __name__=="__main__": Person.show()#通过类名 调用类方法 p=Person("zhangsan",23) p.show()#通过实例名,调用类方法 print(p.getName())#通过实例名,调用实例方法 Person.printInfo(p)#通过类名和实例名,调用实例方法 print(Person.compute(10))#通过类名调用静态方法 print(p.compute(10))#通过对象名调用静态方法