当我使用a=5
运行此代码时,它工作正常,当我使用self.a=5
运行该代码时,出现错误NameError:未定义名称'self'。为什么?
class yes:
def __init__(self):
print("hello yes")
self.a=5 #produces an error
class yes:
def __init__(self):
print("hello yes")
a=5 #works fine
答案 0 :(得分:1)
您将变量声明为类成员,而不是实例成员,因此作用域中没有self
。如果您将self.a=5
缩进到__init__()
主体之内,它将按照我希望的那样工作