Python中的静态方法
1.概念:
静态方法是类中的函数,不需要实例。静态方法主要是用来存放逻辑性的代码,主要是一些逻辑属于类,但是和类本身没有交互【不需要创建类的实例对象而是直接使用类名.静态方法调用】,即在静态方法中,不会涉及到类中的方法和属性的操作【在类的方法传参区间不需要传入类的实例对象】。可以理解为将静态方法存在此类的名称空间中。事实上,在python引入静态方法之前,通常是在全局名称空间中创建函数。
2.例子:定义一个关于时间操作的类,其中有一个获得当前时间的函数。
import time class TimeTest(object): def __init__(self,hour,minute,second): self.hour = hour self.minute = minute self.second = second
@staticmethod def showTime(): return time.strftime("%H:%M:%S", time.localtime()) print TimeTest.showTime() t = TimeTest(2,10,10) nowTime = t.showTime() print nowTime
3.意义:
使用静态函数,既可以将获得时间的函数功能与实例解绑,我想获得当前时间的字符串时,并不一定需要实例化对象,此时更像是一种名称空间。
我们可以在类外面写一个简单的方法来做这些,但是这样做就扩散了类代码的关系到类定义的外面,这样写就会导致以后代码维护的困难。