我正在浏览namedtuple
的源代码(请参阅collections/__init__.py
),以了解如何从tuple
继承。我在__new__
方法中注意到,它没有调用super()
:
def __new__(_cls, {arg_list}):
'Create new instance of {typename}({arg_list})'
return _tuple.__new__(_cls, ({arg_list}))
为什么叫_tuple.__new__
?从子类调用基类方法以使用super()
的正确方法吗?像这样:
return super().__new__(cls, ({arg_list}))