嵌套类的__init __()获得意外值

时间:2019-04-12 15:39:22

标签: python class init

为什么后面的lapply(gsub("package:","",search()[grep(".*(?<=package:)",search(),perl = T)]), function(x) detach(x)) b2.targets并且['ddd', 'eee']b1.targets具有相同的值?

b2.targets

我使用VSCode调试到class A(object): def __init__(self): pass class B(object): def __init__(self, targets=[]): self.targets = targets a = A() b1 = a.B() b1.targets.append("ddd") print(b1.targets) # ['ddd'] b2 = a.B() b2.targets.append("eee") print(b2.targets) # ['ddd', 'eee'] print(b1.targets) # ['ddd', 'eee'] 中,发现名为b2 = a.B()的变量在targets中具有值['ddd']。这是怎么发生的? B.__init__()附加到'ddd',变量b1.targets来自哪里,为什么它的值与targets相同?由于b1.targetstargets应该是[]吗?

谢谢

0 个答案:

没有答案