TypeVar
型変数 T = TypeVar("T") を使って、def first(xs: list[T]) -> T: と書く意図として、最も適切なものを1つ選べ。
- A
Tは、実行時に型を強制するための仕組みである。 - B
入力のリストの要素の型と、戻り値の型が同じであることを、型チェッカに伝える。
- C
Tは、どんな型でも許すAnyと完全に同じ意味である。 - D
firstは、整数のリストしか受け取れない。
正解と解説を見る
正解:B
ジェネリクスは、型をパラメータ化して、入力と出力の型の関係を表す。Python 3.12 以降は def first[T](xs: list[T]) -> T: と書ける。
- A
誤り。実行時には強制されない。
- B
正しい。
list[int]を渡せばint、list[str]を渡せばstrが返ると推論される。 - C
誤り。入力と出力の型の関係を表せる点が異なる。
- D
誤り。任意の型の要素に使える。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。