让我们看代码:
class parent:
book = {'one':1, 'two':2}
class child(parent):
pass
first = child()
second = child()
print first.book
print second.book
second.book['one'] = 3
print first.book
print second.book
当您运行此对象时,“首先”已编辑其字典!怎么回事?我认为“第一”和“第二”是“孩子”类的独立实例。这里发生了什么?为什么您在第二次编辑的内容首先会影响?
我可以通过在每个子类中重新创建书籍来“解决”这个问题,但这不是正确的方法,我想以它们应该被使用的方式利用类。
我究竟做错了什么?
顺便说一句,我的主要语言是 cpp,所以也许我将 cpp 与 python 或类似的愚蠢混淆了......
任何帮助将不胜感激!