1 回答

TA贡献1818条经验 获得超8个赞
您的全局变量正在更新。提取部分代码:
class Lc:
d={50:8,100:6,200:4,500:3,1000:2,2000:1}
he=['container_size_in_ltrs','qty']
def add_inv(self,k,v):
d=self.d
for i,j in d.items():
if k==i:
d[k]=d[k]+v
print d
return d
z=Lc()
x=Lc()
print "Add 2 to 500, expect 500:5"
g=z.add_inv(500,2)
print z.d
# Notice that x.add_inv also modifies z.d
print "Add 5 to 500, expect 500:7 because x initialized d again"
h=x.add_inv(500,2)
print z.d
我得到:
Add 2 to 500, expect 500:5
{100: 6, 200: 4, 2000: 1, 1000: 2, 50: 8, 500: 5}
{100: 6, 200: 4, 2000: 1, 1000: 2, 50: 8, 500: 5}
Add 5 to 500, expect 500:7 because x initialized d again
{100: 6, 200: 4, 2000: 1, 1000: 2, 50: 8, 500: 7}
{100: 6, 200: 4, 2000: 1, 1000: 2, 50: 8, 500: 7}
我只是希望您确实试图以d这种卑鄙的方式宣布其为全球性。
添加回答
举报