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 __()'。 –