@@ -390,7 +390,7 @@ def namedtuple(typename, field_names, *, rename=False, defaults=None, module=Non
390390 arg_list = repr (field_names ).replace ("'" , "" )[1 :- 1 ]
391391 repr_fmt = '(' + ', ' .join (f'{ name } =%r' for name in field_names ) + ')'
392392 tuple_new = tuple .__new__
393- _len = len
393+ _dict , _tuple , _len , _map , _zip = dict , tuple , len , map , zip
394394
395395 # Create all the named tuple methods to be added to the class namespace
396396
@@ -414,7 +414,7 @@ def _make(cls, iterable):
414414 'or iterable' )
415415
416416 def _replace (_self , ** kwds ):
417- result = _self ._make (map (kwds .pop , field_names , _self ))
417+ result = _self ._make (_map (kwds .pop , field_names , _self ))
418418 if kwds :
419419 raise ValueError (f'Got unexpected field names: { list (kwds )!r} ' )
420420 return result
@@ -426,18 +426,15 @@ def __repr__(self):
426426 'Return a nicely formatted representation string'
427427 return self .__class__ .__name__ + repr_fmt % self
428428
429- _dict , _zip = dict , zip
430-
431429 def _asdict (self ):
432430 'Return a new dict which maps field names to their values.'
433431 return _dict (_zip (self ._fields , self ))
434432
435433 def __getnewargs__ (self ):
436434 'Return self as a plain tuple. Used by copy and pickle.'
437- return tuple (self )
435+ return _tuple (self )
438436
439437 # Modify function metadata to help with introspection and debugging
440-
441438 for method in (__new__ , _make .__func__ , _replace ,
442439 __repr__ , _asdict , __getnewargs__ ):
443440 method .__qualname__ = f'{ typename } .{ method .__name__ } '
0 commit comments