我想将我第一次启动课程与其他所有时间区分开来。我创建了一个实例属性并将其值设置为 True。我该怎么做才能让所有后续实例将该属性值设为 False?
class Cool(Dude):
def __init__(self):
self.coolnesscheck = True
我想将我第一次启动课程与其他所有时间区分开来。我创建了一个实例属性并将其值设置为 True。我该怎么做才能让所有后续实例将该属性值设为 False?
class Cool(Dude):
def __init__(self):
self.coolnesscheck = True
您可以使用类属性来指示第一个对象是否已创建。例子 -
class Cool:
__firstinit = True
def __init__(self):
self.coolnesscheck = Cool.__firstinit
Cool.__firstinit = False
我__
在名称中添加了Name Mangling,以便在类外不易访问该属性。
使用类属性,并False
在实例化该类的对象时将其设置为:
>>> class Cool:
... coolnesscheck = True
... def __init__(self):
... self.coolnesscheck = Cool.coolnesscheck
... Cool.coolnesscheck = False
...
>>> Cool.coolnesscheck
True
>>> a = Cool()
>>> Cool.coolnesscheck
False
>>> a.coolnesscheck
True
>>> b = Cool()
>>> Cool.coolnesscheck
False
>>> b.coolnesscheck
False