内部でnamedtupleを使用したいのですが、通常のタプルを提供するユーザーとの互換性を維持したいと考えています。
from collections import namedtuple
tuple_pi = (1, 3.14, "pi") #Normal tuple
Record = namedtuple("Record", ["ID", "Value", "Name"])
named_e = Record(2, 2.79, "e") #Named tuple
named_pi = Record(tuple_pi) #Error
TypeError: __new__() missing 2 required positional arguments: 'Value' and 'Name'
tuple_pi.__class__ = Record
TypeError: __class__ assignment: only for heap types