
On 2017-07-20 11:30, Paul Moore wrote:
On 20 July 2017 at 10:15, Clément Pit-Claudel <cpitclaudel@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)?".