关键字have to是字符串
>>> def foo(**kwargs):
... pass
...
>>> foo(**{0:0})
TypeError: foo() keywords must be strings
但是通过一些黑魔法, namespace 能够绕过它
>>> from types import SimpleNamespace
>>> SimpleNamespace(**{0:0})
namespace()
为什么?如何? 您能否实现一个可以在
kwargs
映射中接收整数的Python函数? 最佳答案
现在,SimpleNamespace拒绝整数关键字键。正如Martijn所说,the original behavior was a bug。看来它已在v3.9.0b2中由bpo-31655: Validate keyword names in SimpleNamespace constructor修复,然后由backported to 3.6修复。