關鍵詞have to是字符串接受整數作爲** kwargs的鍵
>>> def foo(**kwargs):
... pass
...
>>> foo(**{0:0})
TypeError: foo() keywords must be strings
但一些黑魔法,命名空間能夠繞過
>>> from types import SimpleNamespace
>>> SimpleNamespace(**{0:0})
namespace()
爲什麼?和如何? 您能否實現一個可以在kwargs
映射中接收整數的Python函數?
更重要的問題:你爲什麼需要? –
因此,簡而言之:您可以定義一個接受關鍵字參數的C擴展類型,這些類型不受限制。但是你不能定義一個相同的Python函數。 –
不知道是否有任何其他Python分佈展現出相同的行爲... –