为类变量python赋值

时间:2015-10-25 10:09:44

标签: python class variables variable-assignment

我有以下类,它有两个类变量“value”和“gradient”。我为类变量分配两个值,然后将它们打印出来。但后来我将20分配给一个不存在的类变量(“limit”)。但编译器很高兴,似乎存储变量。这怎么可能? 我的假设是,如果变量名称不正确,我应该看到一条错误消息。不应该吗?

class wire:
    def __init__(self,value,gradient):
        self.value     = value
        self.gradient  = gradient

XX = wire(10,0.05)
print XX.value , XX.gradient

XX.limit = 20
print XX.value , XX.gradient, XX.limit

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

这些是实例变量,而不是类变量。

但我不知道你为什么会出现错误。在__init__或其他任何地方定义这些属性之间没有区别。无论哪种方式,您都要向实例添加新属性。