setattr在dict的子类上起作用,但不能直接在dict的子类上起作用

时间:2019-05-12 21:51:50

标签: python

以下代码引发AttributeError:

types = dict()
setattr(types, "foo", 42)
....
AttributeError: 'dict' object has no attribute 'foo'

但是以下内容无效(即以下内容有效):

class SpecDic(dict):
    pass


types = SpecDic()
setattr(types, "foo", 42)

那是为什么?为自定义子类调用setattr与不为子类调用types有什么区别?

对于上下文,我正在尝试按照RequestsRequests Source)中的from requests import codes r = requests.get('https://example.org') r.status_code == requests.codes.ok 的方式进行操作:

{{1}}

编辑:我还发现this answer on SO的标题为“需要一种将元信息/类添加到python列表/元组变量的简单方法吗?”

0 个答案:

没有答案