如何消除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,您是否介意单击勾号以接受此为正确答案?嗯。