Python改变类变量
发布时间:2020-12-20 12:30:05 所属栏目:Python 来源:网络整理
导读:好的,这次我会非常清楚. class Yes: def __init__(self): self.a=1 def yes(self): if self.a==1: print "Yes" else: print "No,but yes"class No(Yes): def no(self): if self.a==1: print "No" else: print "Yes,but no" self.a-=1 #Note this line 现在,
好的,这次我会非常清楚.
class Yes: def __init__(self): self.a=1 def yes(self): if self.a==1: print "Yes" else: print "No,but yes" class No(Yes): def no(self): if self.a==1: print "No" else: print "Yes,but no" self.a-=1 #Note this line 现在,在运行时: Yes().yes() No().no() Yes().yes() No().no() 我希望它打印出来: Yes No No,but yes Yes,but no 它给了我: Yes No Yes No 现在,我知道原因是因为我只改变了No类中Self.a的值(还记得那行吗?).我想知道是否还有在Yes类中更改它仍然在No类中(就好像我可以插入一些代替self.a- = 1的东西). 解决方法
我不确定你对此有什么用处,但……
您想要操纵类变量,但是您要继续寻址实例变量.如果你想要一个类变量,请使用类变量! class Yes: a = 1 # initialize class var. def __init__(self): self.a = 1 # point of this is what? def yes(self): if Yes.a==1: # check class var print "Yes" else: print "No,but yes" class No(Yes): def no(self): if Yes.a==1: # check class var print "No" else: print "Yes,but no" Yes.a-=1 # alter class var (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |