Python 为什么我们可以为OrderedDict的对象创建属性,而不能为Dict创建属性?

Python 为什么我们可以为OrderedDict的对象创建属性,而不能为Dict创建属性?,python,ordereddictionary,ordereddict,Python,Ordereddictionary,Ordereddict,在阅读一些代码时,我发现可以为OrderedDict的对象创建新属性,但当我尝试为Python的Dict创建属性时,Python不允许我这样做 我只是想知道为什么会发生这种情况,为什么人们会想为OrderedICT创建属性,而他们可以使用OrderedICT设置键值对 是在Python中实现的,您可以将任何属性分配给传统Python对象,但有一些例外情况,例如定义了_插槽时。NB:这并不意味着你应该这样做,或者这通常是一个好主意,但这是可能的。特别是,我看不出任何正当的理由 用OrderedIC

在阅读一些代码时,我发现可以为OrderedDict的对象创建新属性,但当我尝试为Python的Dict创建属性时,Python不允许我这样做

我只是想知道为什么会发生这种情况,为什么人们会想为OrderedICT创建属性,而他们可以使用OrderedICT设置键值对

是在Python中实现的,您可以将任何属性分配给传统Python对象,但有一些例外情况,例如定义了_插槽时。NB:这并不意味着你应该这样做,或者这通常是一个好主意,但这是可能的。特别是,我看不出任何正当的理由 用OrderedICT做这件事

相反,dict是一个内置对象,用C实现。它没有自己的存储属性的dict,这就是为什么不能分配属性