[Python-ideas] namedtuple literals [Was: RE a new namedtuple]
greg.ewing at canterbury.ac.nz
Tue Jul 25 19:58:44 EDT 2017
Nick Coghlan wrote:
> New builtin:
> ntuple(x=1, y=0)
Do we really want this to be a tuple, with ordered fields?
If so, what determines the order? If it's the order of the
keyword arguments, this means that
would give objects with different behaviour.
This goes against the usual expectation that keyword arguments
of a constructor can be written in any order. That's one of
the main benefits of using keyword arguments, that you don't
have to remember a specific order for them.
If we're going to have such a type, I suggest making it a
pure named-fields object without any tuple aspects. In which
case "ntuple" wouldn't be the right name for it, and something
like "record" or "struct" would be better.
Also, building a whole type object for each combination of
fields seems like overkill to me. Why not have just one type
of object with an attribute referencing a name-to-slot
More information about the Python-ideas