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

初学python在linux下,我写了一个python程序,名test1.py,自定义了一个类,里面是:classMyClass(object):def__init(se... 初学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
展开
 我来答
百度网友4826b3c
推荐于2017-09-27 · TA获得超过5026个赞
知道大有可为答主
回答量:2999
采纳率:96%
帮助的人:1325万
展开全部

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

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脚本文件运作的开端!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式