如果我使用self定义变量,为什么会产生错误?

时间:2019-01-22 06:47:00

标签: python python-3.x

当我使用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 

1 个答案:

答案 0 :(得分:1)

您将变量声明为类成员,而不是实例成员,因此作用域中没有self。如果您将self.a=5缩进到__init__()主体之内,它将按照我希望的那样工作