On 21 November 2012 03:57, Leo <sdl....@gmail.com> wrote: > Sorry the python issue tracker seems broken (I cannot log in). So I am > posting it here. > > In the doc: > > operator.attrgetter(attr[, args...]) > operator.itemgetter(item[, args...]) > operator.methodcaller(name[, args...]) > > The signatures of these functions seem confusing. ARGS is not documented > and does not match the python implementation in the doc.
What documentation are you reading? $ python Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import operator >>> help(operator.attrgetter) Help on class attrgetter in module operator: class attrgetter(__builtin__.object) | attrgetter(attr, ...) --> attrgetter object | | Return a callable object that fetches the given attribute(s) from its operand. | After, f=attrgetter('name'), the call f(r) returns r.name. | After, g=attrgetter('name', 'date'), the call g(r) returns (r.name, r.date). | After, h=attrgetter('name.first', 'name.last'), the call h(r) returns | (r.name.first, r.name.last). [snip] I think the above explains how attrgetter works with multiple arguments. Here's a demo: >>> class X: ... a = 2 ... b = 3 ... c = 1 ... >>> getter = operator.attrgetter('a', 'b', 'c') >>> getter(X) (2, 3, 1) Oscar _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com