[Python-ideas] namedtuple literals [Was: RE a new namedtuple]

Clément Pit-Claudel cpitclaudel at gmail.com
Thu Jul 20 05:39:56 EDT 2017


On 2017-07-20 11:30, Paul Moore wrote:
> On 20 July 2017 at 10:15, Clément Pit-Claudel <cpitclaudel at gmail.com> wrote:
>> On 2017-07-20 11:02, Paul Moore wrote:
>>>> Also, what's the advantage of (x=1, y=2) over ntuple(x=1, y=2)? I.e.,
>>>> why does this need to be syntax instead of a library?
>>>
>>> Agreed. Now that keyword argument dictionaries retain their order,
>>> there's no need for new syntax here. In fact, that's one of the key
>>> motivating reasons for the feature.
>>
>> Isn't there a speed aspect?  That is, doesn't the library approach require creating (and likely discarding) a dictionary every time a new ntuple is created?  The syntax approach wouldn't need to do that.
> 
> I don't think anyone has suggested that the instance creation time
> penalty for namedtuple is the issue (it's the initial creation of the
> class that affects interpreter startup time), so it's not clear that
> we need to optimise that (at this stage)

Indeed, it's not clear we do.  I was just offering a response to the original question, "what's the advantage of (x=1, y=2) over ntuple(x=1, y=2)?".


More information about the Python-ideas mailing list