我需要一個python 3.1深度更新函數的字典(一個函數,將遞歸更新父字典內的子字典)。Python和字典像對象
但我想,在將來,我的功能可能不得不處理像字典但不是字典的對象。此外,我想避免使用isinstance
和type
(因爲他們被認爲是不好的,因爲我幾乎可以在每個Pythonista的博客上閱讀)。
但是鴨子打字是Python的哲學的一部分,所以我怎麼能檢查一個對象是字典樣?
謝謝!
編輯:感謝所有的答案。以防萬一,我編碼的功能可以在這個地方找到:http://blog.cafeaumiel.com/public/python/dict_deep_update.py
一向走毯語句在博客上用一粒鹽。我是鴨子打字的忠實粉絲,並且「比請求寬容更容易」的方法,但請參閱下面關於ABC的PEP 3119關於ABC的更多細微討論:http://www.python.org/dev/ peps/pep-3119/ – Anon 2009-08-14 14:34:41
[相關問題](http://stackoverflow.com/questions/8601268/python-class-that-acts-as-mapping-for-unpacking) - 你可以測試提到的存在方法。 – jvdm 2016-01-21 17:36:18