【发布时间】:2021-02-04 17:42:16
【问题描述】:
为我的问题考虑以下最小示例:
class MyClass:
a = False
b = 0
if a:
b = 1
MCinst = MyClass()
这里MCinst有两个属性MCinst.a和MCinst.b,默认值分别为False和0。我试图用if 语句实现的是,当我设置MCinst.a = True 时,MCinst.b 的值会自动切换到1。但这显然不能按预期工作,因为 MCinst.b 的值仍然是 0。
我知道我可以删除if 语句并简单地从外部修改b,就像我修改a 一样。但我仍然很好奇是否有一种方法可以让工作成为我想要的——即当我更改同一个实例的另一个属性时,让实例的属性自动更改。
【问题讨论】:
-
这些是 class 属性,但如果您确实想要类属性,请参阅stackoverflow.com/q/128573/3001761。
标签: python python-3.x class object properties