我遇到了這個奇怪的錯誤,我無法解釋。當索引到字典時Python無類型不可調用
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import UserDict
>>> a = UserDict.UserDict()
>>> b = {}
>>> b[a]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable
我明白這應該是一個錯誤。我不明白它爲什麼說'NoneType' object is not callable
。據我所知,我不會調用導致錯誤的行中的任何內容。
我預計錯誤會是這樣的東西更多:
>>> b[b]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'
可有人請我解釋一下我發瘋之前?在UserDict
實施
'hash(UserDict.UserDict())'產生相同的錯誤;顯然在UserDict的實現中有一些是這樣做的。 – geoffspear 2012-01-31 11:30:35