为了账号安全,请及时绑定邮箱和手机立即绑定

在 Python 中访问多个对象中的字典的问题

在 Python 中访问多个对象中的字典的问题

PIPIONE 2021-08-05 17:40:34
我是 Python 菜鸟,我在掌握字典在 Python 中的工作方式时遇到了一些问题。我创建了一个类:class Test:    dictionary = dict()    def __init__(self, id):        self.id = id    def add(self, key, val):        self.dictionary[key] = val    def print(self):        print("id: " + str(self.id))        print(self.dictionary.items())我正在执行此代码:list = [Test(0), Test(1)]list[0].add(0, 0)list[1].add(1, 1)for t in list:    t.print()这段代码的预期效果是:id: 0dict_items([(0, 0)])id: 1dict_items([(1, 1)])但相反,我得到:id: 0dict_items([(0, 0), (1, 1)])id: 1dict_items([(0, 0), (1, 1)])为什么会发生这种情况?我该怎么做才能达到预期的效果?尽管字典属于同一类的两个不同实例,但它似乎共享相同的内存。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号