为 class 变量赋值 python
assigning a value to a class variable python
我有以下 class,它有两个 class 变量 "value" 和 "gradient"。我将两个值分配给 class 变量和然后打印出来。但是后来我将 20 分配给一个不存在的 class 变量 ("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
感谢您的帮助
这些是实例变量,不是 class 变量。
但我不知道您为什么会遇到错误。在 __init__
或其他任何地方定义这些属性之间没有区别。无论哪种方式,您都在向实例添加新属性。
我有以下 class,它有两个 class 变量 "value" 和 "gradient"。我将两个值分配给 class 变量和然后打印出来。但是后来我将 20 分配给一个不存在的 class 变量 ("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
感谢您的帮助
这些是实例变量,不是 class 变量。
但我不知道您为什么会遇到错误。在 __init__
或其他任何地方定义这些属性之间没有区别。无论哪种方式,您都在向实例添加新属性。