0
下面的代碼:爲什麼在Python(2.7.11)中將相同的部分比較爲不相等?
from functools import partial
def f(a):
print a
g = partial(f, 1)
h = partial(f, 1)
assert(g == h)
引發斷言錯誤。爲什麼?
部分返回帶有屬性.func,.args和.keywords的可調用對象。在這個例子中:
g.func == h.func == f
g.args == h.args == (1,)
g.keywords == h.keywords == {}
不應該g == h?
最明智的可能是創建一個基於類的替換,它定義了'__eq __()'。 –