[阅读某些代码时,我发现可以为OrderedDict的对象创建新属性,但是当我尝试为Python的Dict创建对象时,Python不允许我这样做。
只是想知道为什么会这样,为什么会这样,以便当他们可以使用OrderedDict设置键值对时想要为OrderedDict创建属性。
OrderedDict
在Python中实现,您可以将任何属性分配给传统的Python对象(有一些例外,例如定义OrderedDict
时)。注意:这并不意味着您应该这样做,或者这通常不是一个好主意,但是有可能。特别是我看不到任何正当理由用__slots__
来做到这一点。
OrderedDict
相反,是一个内置对象,用C实现。它没有自己的dict
来存储属性,这就是为什么您不能分配它们的原因。