Python:Self未定义

时间:2010-10-28 17:36:04

标签: python

class a(object):
 def __init__(self):
         self.b = 1
         self.c = 2

这给出了错误:NameError:name'self'未定义

我查看了之前的帖子,但错误原因不同。对此有何帮助?

2 个答案:

答案 0 :(得分:12)

我假设def __init__(self):之前的单个空格实际上是文件中的一个标签,并由编辑器显示为四个空格。

然而,python将选项卡解释为8个空格,因此python将以下两行(缩进8个空格)视为与def处于同一缩进级别。

这正是你不应该混合标签和空格的原因。

答案 1 :(得分:2)

这只是一个猜测,因为你没有发布实际的回溯或代码,但如果上面的实际代码段给你带来问题,那么你的缩进可能是关闭的,并且解释器正在错误地解释你的作用域级别。