Python: self未定义

4 投票
2 回答
10722 浏览
提问于 2025-04-16 06:15
class a(object):
 def __init__(self):
         self.b = 1
         self.c = 2

这段代码出现了错误:NameError: name 'self' is not defined

我查看了之前的帖子,但那个错误是因为其他原因引起的。有没有人能帮帮我解决这个问题?

2 个回答

2

这只是个猜测,因为你没有贴出具体的错误信息或代码。不过,如果你上面提到的代码有问题,很可能是因为你的缩进不对,导致解释器误解了你的代码结构。

12

我猜在def __init__(self):前面的那个单个空格其实是你文件里的一个制表符,而你的编辑器把它显示成了四个空格。

不过在Python中,制表符被当作8个空格来处理,所以接下来的两行(它们缩进了8个空格)在Python看来和def是处于同一级别的缩进。

这就是为什么你不应该混用制表符和空格的原因。

撰写回答