在main方法中找不到类名 - python

时间:2018-01-08 07:02:48

标签: python main

所以我的代码是:

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

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

这是一个缩进问题。

class myClass:

    @staticmethod
    def func():
        print('foo')

if __name__ == "__main__":
    myClass.func()

以上内容在Python解释器中可以正常工作。目前,在您的代码中,它尝试在myClass.func()定义内if块内运行class,即在尝试创建myClass时,它正在尝试运行myClass.func()并且因为您的帖子中提到的错误而失败。

答案 1 :(得分:1)

class myClass:

    @staticmethod
    def func():
       print('foo')

if __name__ == "__main__":
    myClass.func()