调用静态方法

时间:2014-06-18 22:03:38

标签: python static static-methods

如何从另一个模块/应用程序(在Django中)调用静态方法? 例如,我声明了以下静态方法

class SomeClass (object):
    @staticmethod
    def SomeStaticMethod (firstArg, **kwargs):  
        # do something

在另一个课程中,我想像这样使用它

SomeClass.SomeStaticMethod ('first', second=2, third='three', fourth=4)

我尝试导入,但得到了一个N​​ameError:全局名称' SomeClass'未定义

import myapp.SomeClass

1 个答案:

答案 0 :(得分:2)

>>> from somefile import SomeClass
>>> SomeClass.SomeStaticMethod('first', second=2, third='three')
first {'second': 2, 'third': 'three'}

在大多数情况下,静态方法完全无用,这也很好,因为模块本身可以用作函数的命名空间。因此:

def SomeStaticFunction(a, **kwargs):
    # do something

>>> import somefile
>>> somefile.SomeStaticFunction(1, second=2, third='three')
1 {'second': 2, 'third': 'three'}