如何更改类的静态变量?我希望通过某种输入来改变它。
class MyClass:
var1 = 1
var2 = 4
def __init__(self, var3, var4):
self.var3 = var3
self.var4 = var4
这是var1 or var2,我想要改变,或者想知道如何改变。
发布于 2018-06-01 06:38:24
class Whatever():
b = 5
def __init__(self):
Whatever.b = 9999
boo = Whatever()
print(boo.b) # prints 9999
boo.b = 500
print(boo.b) # prints 500
Whatever.b = 400
print(boo.b) # prints 500
# since its a static var you can always access it through class name
# Whatever.b
发布于 2018-01-13 22:56:50
如果想要更改类变量,可以将它们赋给__init__
作用域中的变量:
class MyClass:
var1 = 1
var2 = 4
def __init__(self, var3, var4):
self.var1 = var3
self.var2 = var4
c = MyClass(100, 200)
>>>c.var1, c.var2
输出:
(100, 200)
发布于 2018-01-14 00:45:18
这取决于何时需要重新绑定类属性。您也可以稍后在创建对象时执行此操作:
mc = MyClass(1, 2)
mc.var1 = 20
mc.var2 = 40
在类体内创建或更改的属性与通过赋值给属性在外部创建的属性没有区别。
https://stackoverflow.com/questions/48240905
复制相似问题