class a(object):
def __init__(self):
self.b = 1
self.c = 2
这给出了错误:NameError:name'self'未定义
我查看了之前的帖子,但错误原因不同。对此有何帮助?
答案 0 :(得分:12)
我假设def __init__(self):
之前的单个空格实际上是文件中的一个标签,并由编辑器显示为四个空格。
然而,python将选项卡解释为8个空格,因此python将以下两行(缩进8个空格)视为与def
处于同一缩进级别。
这正是你不应该混合标签和空格的原因。
答案 1 :(得分:2)
这只是一个猜测,因为你没有发布实际的回溯或代码,但如果上面的实际代码段给你带来问题,那么你的缩进可能是关闭的,并且解释器正在错误地解释你的作用域级别。