Я сам изучаю сам Python, и у меня есть проблема с душой, потому что я не понимаю, почему это не работает. Я использую PyDev, и я загружаю версию 2 Python. У меня есть этот код:Статический метод в Python не работает
class Utils:
@staticmethod
def hello():
print "Hi! I'm the Utils class"
Utils.hello() #Hi! I'm the Utils class
и все работает нормально на данный момент. Но если я импортировать класс Utils и вызвать статический метод из другого модуля ...
import Utils
Utils.hello()
Я получаю эту ошибку:
Traceback (most recent call last):
File "C:\Users\migugonz\Desktop\Docs\Per Folder\WorkSpacePy\Rosalind\src\bioinformatics\stronghold\Pruebas.py", line 40, in <module>
Utils.hello()
AttributeError: 'module' object has no attribute 'hello'
я вещь не может быть большое дело, но я «Я искал решение, и пока знаю, что это будет работа.
Python не PHP: вам не нужны классы для эмуляции пространств имен. Просто сделайте 'hello' глобальную функцию в Utils. – georg
Python - это не Java, нет абсолютно никаких причин иметь здесь класс, особенно если все это содержит статические методы. Просто положите 'hello' на верхний уровень файла. –
Спасибо всем. Это правда, я пришел из Java, и я использую статический класс для методов многократного использования. Может быть, это лучший способ сделать это, как вы говорите, thg435. Благодаря! – Hannibaal