首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中更改静态类变量

在Python中更改静态类变量
EN

Stack Overflow用户
提问于 2018-01-13 22:41:19
回答 3查看 3.8K关注 0票数 1

如何更改类的静态变量?我希望通过某种输入来改变它。

代码语言:javascript
复制
class MyClass: 

    var1 = 1
    var2 = 4

    def __init__(self, var3, var4):
        self.var3 = var3
        self.var4 = var4

这是var1 or var2,我想要改变,或者想知道如何改变。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-01 06:38:24

代码语言:javascript
复制
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
票数 4
EN

Stack Overflow用户

发布于 2018-01-13 22:56:50

如果想要更改类变量,可以将它们赋给__init__作用域中的变量:

代码语言:javascript
复制
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

输出:

代码语言:javascript
复制
(100, 200)
票数 0
EN

Stack Overflow用户

发布于 2018-01-14 00:45:18

这取决于何时需要重新绑定类属性。您也可以稍后在创建对象时执行此操作:

代码语言:javascript
复制
mc = MyClass(1, 2)
mc.var1 = 20
mc.var2 = 40

在类体内创建或更改的属性与通过赋值给属性在外部创建的属性没有区别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48240905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档