[Python-Dev] Possible patch for functools partial (original) (raw)
VanL van.lindberg at gmail.com
Fri May 7 16:37:33 CEST 2010
- Previous message: [Python-Dev] Issue #8610: Set default file system encoding to ascii on error?
- Next message: [Python-Dev] Possible patch for functools partial - Interested?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Howdy all -
I have an app where I am using functools.partial to bundle up jobs to do, where a job is defined as a callable + args. In one case, I wanted to keep track of whether I had previously seen a job, so I started putting them into a set... only to find out that partials never test equal to each other:
import operator from functools import partial p1 = partial(operator.add) p2 = partial(operator.add) p1 == p2 False seen = set();seen.add(p1) p2 in seen False
I created a subclass of functools.partial that provides appropriate eq and hash methods, so that this works as expected. I called the subclass a Job:
j1 = Job(operator.add) j2 = Job(operator.add) j1 == j2 True seen = set();seen.add(j1) j2 in seen True j1 is j2 False
While I was at it, I also added a nice repr. Would this group be interested in a patch, or is this not interesting?
Thanks,
Van
- Previous message: [Python-Dev] Issue #8610: Set default file system encoding to ascii on error?
- Next message: [Python-Dev] Possible patch for functools partial - Interested?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]