Message81457
The functools module includes a 'partial' class, which allows partial
function application either by positional arguments or keyword
arguments. However, it cannot be used to create, for example, a
function splitting a string on commas, or a function to extracts logs to
base 10. I posted
http://mail.python.org/pipermail/python-dev/2009-January/085638.html
which suggested a 'partial_right' feature, such that the following would
work:
>>> import functools, math
>>> split_comma = functools.partial_right(str.split, ',')
>>> split_comma('a,b,c')
['a', 'b', 'c']
>>> log_10 = functools.partial_right(math.log, 10.0)
>>> log_10(100.0)
2.0
There was some useful discussion, but generally the feeling was that the
extra complexity outweighed the potential benefits. Also, chained
partial applications were troublesome.
The overlap in functionality between 'partial_right' and an existing
patch (#1706256) to allow skipping of positional arguments was raised.
I think the present issue should probably be closed/rejected, but it was
suggested on the mailing list that having the issue and patch on the
record might be useful. Patches are against 2.6.1 source. |
|
Date |
User |
Action |
Args |
2009-02-09 13:59:20 | bennorth | set | recipients:
+ bennorth |
2009-02-09 13:59:20 | bennorth | set | messageid: <1234187960.68.0.343533185797.issue5191@psf.upfronthosting.co.za> |
2009-02-09 13:59:18 | bennorth | link | issue5191 messages |
2009-02-09 13:59:17 | bennorth | create | |
|