![](https://secure.gravatar.com/avatar/d8e1829f34ff2b7d71c3718c84a865c9.jpg?s=120&d=mm&r=g)
On Thu, May 22, 2008 at 12:21 AM, Brandon Mintern <bmintern@gmail.com> wrote:
I would like to propose to change the built-in function "object" to have the following syntax:
object(**kwargs) Return a new featureless object. object is a base for all new style classes. It has the methods that are common to all instances of new style classes.
If kwargs is given, the returned object's __dict__ will be kwargs (or something to that effect).
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.namedtup... 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?