我最近在Python中注意到,如果我创建一个dict子类,我可以添加属性,但是dict的实例不是这样的,例如:
class aDict(dict):
pass
myDict = aDict({"name" : "A"})
myDict.color = "red"
print(myDict.color) #"red"
myOtherDict = dict({"name" : "B"})
myOtherDict.color = "green" #"AttributeError: 'dict' object has no attribute color"
你在和myDict的互动
__dict__
是赋予对象的属性字典,这与myOtherDict不同,myOtherDict是内置字典。您可以通过尝试以下方法来了解如何与它们交互:您可以通过myDict的dict属性查看什么是可访问的(并通过vars()将其与myOtherDict上缺少的属性进行比较)
有更多的信息here和here帮助我理解你的问题
相关问题 更多 >
编程相关推荐