【发布时间】:2018-01-08 07:02:47
【问题描述】:
所以我的代码是:
class myClass:
@staticmethod
def func():
print('foo')
if __name__ == "__main__":
myClass.func()
但是当我运行它时,我收到以下错误:
Traceback (most recent call last):
File "myClass.py", line 1, in <module>
class myClass:
File "myClass.py", line 8, in myClass
myClass.func()
NameError: name 'myClass' is not defined
我该如何解决这个问题?
【问题讨论】:
-
if __name__.. 不应该在inside类定义中(即缩进太多,应该在“ main”文件,不管它是什么)。另外,请确保发布的代码是实际的代码/问题。它与第一次编辑相比发生了很大变化。 -
可能是缩进方式。删除以
if __name__ == "__main__":开头的块中的缩进 -
python != java.
main在这里不是一个方法,事实上,没有定义为main的函数。无论如何,python 中的main函数并没有什么特别之处。 -
注意,[main]标签中的文字:“在很多编程语言中,main函数、子程序或方法标志着程序的入口点。一般是第一个程序员编写的程序启动时运行的函数。” Python 不是其中一种语言。