[Python-ideas] Add kwargs to built-in function object

Leif Walsh adlaiff6 at gmail.com
Thu May 22 09:57:45 CEST 2008


On Thu, 22 May 2008, Erick Tryzelaar wrote:
> python 2.6 and 3.0 has something similar to this with collections.namedtuple:
>
> http://docs.python.org/dev/3.0/library/collections.html#collections.namedtuple
>
> The interface is a bit more verbose though:
>
> >>> Point = namedtuple('Point', 'x y')
> >>> p = Point(11, y=22)     # instantiate with positional or keyword arguments
> >>> p[0] + p[1]             # indexable like the plain tuple (11, 22)
> 33
> >>> x, y = p                # unpack like a regular tuple
> >>> x, y
> (11, 22)
> >>> p.x + p.y               # fields also accessible by name
> 33
> >>> p                       # readable __repr__ with a name=value style
> Point(x=11, y=22)
>
> I like the syntax of using arguments to object though. Maybe there's a
> discussion behind namedtuple why they went that way instead of this
> one?

Just like lambdas were gotten rid of in favor of named inner functions
(in part) for readability, it sounds like readability would be a
strong argument for using namedtuple rather than some kind of an
anonymous object.

-- 
Cheers,
Leif



More information about the Python-ideas mailing list