[Python-Dev] PEP 309: Partial method application
Steven Bethard
steven.bethard at gmail.com
Thu Aug 18 23:20:09 CEST 2005
Martin v. Löwis wrote:
> So I would propose the syntax
>
> lst.sort(key=virtual.lower) # where virtual is functional.virtual
Shane Hathaway wrote:
> class virtual:
> def __getattr__(self, name):
> return lambda obj: getattr(obj, name)()
> virtual = virtual()
I think (perhaps because of the name) that this could be confusing. I
don't have any intuition that "virtual.lower" would return a function
that calls the "lower" attribute instead of returning a function that
simply accesses that attribute.
If we're going to move away from the itemgetter() and attrgetter()
style, then we should be consistent about it and provide a solution
(or solutions) that answers all of these problems:
obj.attr
obj.attr(*args, **kwargs)
obj[key]
I'm not sure that there is a clean/obvious way to do this.
STeVe
--
You can wordify anything if you just verb it.
--- Bucky Katt, Get Fuzzy
More information about the Python-Dev
mailing list