我有以下python代码:
class C:
b={}
c1=C()
c2=C()
c1.b[1]='s1'
c2.b[1]='s2'
print(c1.b[1])
我希望输出为“ s1”,但实际上输出为“ s2”。为什么以及如何解决这个问题?抱歉,我是python的新手,这可能是一个琐碎的问题。...
答案 0 :(得分:2)
class C:
def __init__(self):
self.b={}
c1=C()
c2=C()
c1.b[1]='s1'
c2.b[1]='s2'
print(c1.b[1]) #s1
您需要创建一个实例方法def __init__(self):
,并将字典放入实例级别而不是类级别。