get_type_hints
次のコードを実行したときの出力として、正しいものを1つ選べ。
import typing
def f(a: "int") -> None:
pass
print(typing.get_type_hints(f))
- A
{'a': 'int', 'return': None} - B
{} - C
{'a': <class 'int'>} - D
{'a': <class 'int'>, 'return': <class 'NoneType'>}
正解と解説を見る
正解:D
typing.get_type_hints は、文字列の注釈(前方参照)を解決して、型の辞書を返す。__annotations__ は、書いたままの値。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import typing` | — |
| 2 | `def f(a: "int") -> None:` | — |
| 3 | `print(typing.get_type_hints(f))` | — |
| 結果 | 実際の出力 | {'a': <class 'int'>, 'return': <class 'NoneType'>} |
- A
誤り。
get_type_hintsは型に解決する。__annotations__は書いたままの値。 - B
誤り。注釈は取得できる。
- C
誤り。戻り値の注釈も含まれる。
- D
正しい。文字列で書いた注釈も、
get_type_hintsで型に解決される。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。