如何消除Python中的NameError?
嗨 我刚刚执行了以下代码:如何消除Python中的NameError?,python,Python,嗨 我刚刚执行了以下代码: from Tkinter import * class LabelDemo( Frame ): def __init__( self ): Frame.__init__( self ) self.pack( expand = YES, fill = BOTH ) self.master.title( "Labels" ) self.Label3 = Label( self, bitmap = "warn
from Tkinter import *
class LabelDemo( Frame ):
def __init__( self ):
Frame.__init__( self )
self.pack( expand = YES, fill = BOTH )
self.master.title( "Labels" )
self.Label3 = Label( self, bitmap = "warning" )
self.Label3.pack( side = LEFT )
if __name__ == "__main__":
LabelDemo().mainloop()
它给了我名称错误:未定义名称“LabelDemo”
原因可能是什么?该代码对我来说也很好。一定有缩进错误。这就是文件的全部内容吗?你有没有把标签和空格混在一起 编辑: 这是您的回溯:
Traceback (most recent call last):
File "warning.py", line 3, in <module> class LabelDemo(Frame):
File "warning.py", line 14, in LabelDemo LabelDemo().mainloop()
NameError: name 'LabelDemo' is not defined
回溯(最近一次呼叫最后一次):
文件“warning.py”,第3行,在LabelDemo类(框架)中:
文件“warning.py”,第14行,在LabelDemo LabelDemo().mainloop()中
NameError:未定义名称“LabelDemo”
也就是说,对LabelDemo().mainloop()
的调用发生在LabelDemo(Frame)
的类定义中。这意味着您已经缩进了if\uuuuuu name\uuuuu==“\uuuuu main\uuuuu”
。删除if\uuu name\uuu..
行周围的缩进,它应该可以正常工作
最终编辑:
有一个问题的编辑格式化了代码,大概是因为OP不知道怎么做。但是在编辑过程中,缩进可能会在先前损坏的位置得到修复。您的代码在我的计算机上运行良好,因此我怀疑您还有其他地方做错了。在完成回溯后,它通常会告诉您哪一行是哪个文件和哪个代码中的错误。回溯(最后一次调用):文件“warning.py”,第3行,LabelDemo类(Frame):文件“warning.py”,第14行,LabelDemo().mainloop()NameError:名称“LabelDemo”未定义不可信上述代码会导致您的回溯。@aix,我建议您下次在涉及python代码时不要编辑问题以修复代码缩进。原来的问题缩进很差,可能会提醒大家这个问题可能是缩进问题。好的,我现在已经在if name==“main”:to if name==“_main”:@Sahar,缩进意味着空白。空格或制表符。删除
if.\uu name.\uu..
行前面的所有空格和制表符,这样它的格式就和问题中的代码一样,因为它是经过编辑的。if
应该一直位于文本编辑器的左侧,在第1列。@Sahar,用实际代码更新您的问题,以检查可能的错误。谢谢Josh,我已经删除了不需要的缩进,代码现在可以工作了!!!下面是工作代码:来自Tkinter import*类LabelDemo(Frame):def init___________________________________谢谢all@Sahar,您是否介意单击勾号以接受此为正确答案?嗯。