以下代码引发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
有什么区别?
对于上下文,我正在尝试按照Requests
(Requests Source)中的from requests import codes
r = requests.get('https://example.org')
r.status_code == requests.codes.ok
的方式进行操作:
{{1}}
编辑:我还发现this answer on SO的标题为“需要一种将元信息/类添加到python列表/元组变量的简单方法吗?”