记得在C++中静态方法创建非常的容易,而在python中就没那么容易了,不过也不麻烦,其实我觉得完全可以出去那个关键字的,可能是我学习的不 过深入所以才这样觉得吧。静态方法的重要性不言而喻,在多线程中都有用到。属于类的属性而不是实例的属性,这一点就很有用了,让它没了个性而有了共性哈 哈。创建类的静态属性非常常容易:
class SMethod(object):
def foo():
print 'calling static method foo'
foo = staticmethod(foo)
其中要用到staticmethod这个内建函数,如果不想这么麻烦就用函数修饰器吧(什么,不知道?那就google吧)
>>> class A:
@staticmethod
def foo():
print 'calling statifc method foo()'
>>> a = A()
>>> a.foo()
calling statifc method foo()
好了,这样就建立了静态方法了。呵呵简单吧。
至于类的方法,就是个好玩的东东了,在c++中我好像没怎么用到这样的东西,其实我c++只学习了半年用了半年呵呵
使用内建函数classmethod 创建时候与staticmethod几乎一样
class TestClassMethod:
def foo(cls):
print 'calling class method foo()'
print 'foo() is part of class:', cls.__name__
foo = classmethod(foo)
一般都用函数参数cls这个是传递类本身,由解释器自动传递,所以就不需要你自己动手了,这个用于反应类本身的属性是很到的,定制自己的方法哈哈, 就不需要dir 这样的了,看的是一板一板的。

浙公网安备 33010602011771号