#python #static #static-methods
#python #статический #статические методы
Вопрос:
Как мне вызвать статический метод из другого модуля / приложения (в Django)? Например, я объявляю следующий статический метод
class SomeClass (object):
@staticmethod
def SomeStaticMethod (firstArg, **kwargs):
# do something
и в другом классе я хочу использовать его следующим образом
SomeClass.SomeStaticMethod ('first', second=2, third='three', fourth=4)
Я попытался импортировать, но получил ошибку NameError: глобальное имя ‘SomeClass’ не определено
import myapp.SomeClass
Ответ №1:
>>> 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'}