1
型を取り、その型の要素を再帰的に生成する関数があります。例えば、typing.NamedTuple
秒間、私はこれを実行します。ただし要素型の型付けを取得する。
def make_type(type_):
...
if issubclass(type_, typing.NamedTuple):
return type_(**{f: make_type(t) for f, t in type_._field_types.items()})
を、私は彼らが_field_types
と同等のものを持っていないように見えますよう、typing.Tuple
Sを処理するかどうかはわかりません。例えば、私がTuple[int, int]
を持っていたなら、私は(int, int)
に戻っておきたいと思います。
Pair = typing.Tuple[int, int]
Pair.__args__ # (int, int)
が、私はこれがちょうどTuple
型コンストラクタに渡される引数リストであることを前提としています