私は説明できないこの奇妙なエラーに出くわしました。dictへのインデックス登録時にPythonのNoneTypeを呼び出すことができません
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'
?
__hash__ = None # Avoid Py3k warning
ので、それは問題があるためUserDict
の実装であることは事実です:@Woobleにより示唆されるように
'hash(UserDict.UserDict())'は同じエラーを生成します。明らかに、これを行うUserDictの実装には何かがあります。 – geoffspear