沒有子字典,將一個類需要考慮的映射是什麼,這樣可以傳遞給方法有**蟒蛇類作爲映射**拆包
from abc import ABCMeta
class uobj:
__metaclass__ = ABCMeta
uobj.register(dict)
def f(**k): return k
o = uobj()
f(**o)
# outputs: f() argument after ** must be a mapping, not uobj
至少到指出它會拋出映射功能缺失的錯誤,所以我可以開始實施。
我回顧了模擬容器類型,但簡單地定義魔術方法沒有效果,並且使用ABCMeta覆蓋並將其註冊爲字典將斷言驗證爲子類,但isinstance(o,dict)失敗。理想情況下,我甚至不想使用ABCMeta。
超出範圍,但具有相關性和信息性,謝謝你 – dskinner 2011-12-23 17:26:14