我希望区分我第一次开始上课,而不是我开始上课的所有其他时间。我创建了一个实例属性并将其值设置为True。对于所有后续实例,如何将该属性值设为False?
class Cool(Dude):
def __init__(self):
self.coolnesscheck = True
答案 0 :(得分:1)
您可以使用class属性来指示是否已创建第一个对象。示例 -
class Cool:
__firstinit = True
def __init__(self):
self.coolnesscheck = Cool.__firstinit
Cool.__firstinit = False
我在名称中添加__
以引入Name Mangling,以便在课堂外无法轻松访问该属性。
答案 1 :(得分:0)
使用class属性,并在实例化该类的对象时将其设置为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