我写了一个python程序,报错NameError: name 'MyClass' is not defined

初学python 在linux 下,我写了一个python程序,名test1.py ,自定义了一个类,里面是:

class MyClass(object):

def __init(self):
pass
i=12345
def f(self):
return "hello word"

def main():
pass

if __name__=='__main__' :
MyClass().f()

================
保存后,执行python test1.py 报错:

'import site' failed; use -v for traceback
Traceback (most recent call last):
File "test1.py", line 3, in ?
class MyClass(object):
File "test1.py", line 15, in MyClass
MyClass().f()
NameError: name 'MyClass' is not defined

为什么在这个文件里面调用MyClass 都不起作用呢?是搜索路径不对吗?我用的是python 3.3

没问题,可能是字符缩进格式问题吧,仔细检查一下:

class MyClass(object):
    def __init(self):
        pass
    i=12345
    def f(self):
        return "hello word"
    def main():
        pass
if __name__=='__main__' :
    print(MyClass().f())

追问

确实是缩进问题,为什么if __name__=='__main__' : 要和class MyClass 对齐呢?

追答

__name__=='__main__'这句是这个python脚本文件运作的开端!

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答