2015-09-25 14 views

答えて

8

テストfuncargskeywords属性が同じ場合:

p1p2は両方 partial()オブジェクトである
p1.func == p2.func and p1.args == p2.args and p1.keywords == p2.keywords 

>>> from functools import partial 
>>> def myfunc(arg1, arg2): 
...  pass 
... 
>>> partial(myfunc, arg2=1).func == partial(myfunc, arg2=1).func 
True 
>>> partial(myfunc, arg2=1).args == partial(myfunc, arg2=1).args 
True 
>>> partial(myfunc, arg2=1).keywords == partial(myfunc, arg2=1).keywords 
True 

partialに平等のテストを追加するbug filed in the Python trackerがありました本質的にそれを行うオブジェクトですが、がないという理由で却下されましたメソッドは、関数の動作をシャドウします。これらの関数は、id()が一致する場合にのみ等しくなります。

+1

'functools.partial'オブジェクトが標準' __eq__'でそれを実装していない理由はありますか? – doublep

関連する問題