タイプヒントは、Python で次のことを示すために使用されます。変数の予期される型または関数の戻り値。これらは、コードの意図された動作を文書化する方法を提供し、エラーを早期に発見するのに役立ちます。
問題ステートメント:
Python 3 には次のコードがあります:
class Position: def __init__(self, x: int, y: int): self.x = x self.y = y def __add__(self, other: Position) -> Position: return Position(self.x + other.x, self.y + other.y)
ただし、エディター (PyCharm) は、タイプ ヒント内の Position への参照がエラーであることを示すエラー フラグを立てます。 __add__ を解決できません。これにより、次のような疑問が生じます: 戻り値の型が Position 型であるように指定するにはどうすればよいですか?
解決策:
Python では、型ヒンティングには主に 3 つのアプローチがあります。使用している Python のバージョンに応じて、それを囲んでいるクラスの型を持つメソッド:
Python 3.11 :
from typing import Self class Position: def __add__(self, other: Self) -> Self: ...
from __future__ インポート アノテーションを使用した Python 3.7:
from __future__ import annotations class Position: def __add__(self, other: Position) -> Position: ...
Python 3.6 および以前:
class Position: def __add__(self, other: 'Position') -> 'Position': ...
説明:
コンパイル前の要件:
3.7 より前の Python バージョンでは、型ヒントで文字列を使用するには、参照されるクラスが定義されている必要があります。型アノテーションで使用する前に。それ以外の場合は、NameError が発生します。
考慮事項:
型ヒントはオプションですが、コードの可読性、エラー チェック、保守性を大幅に向上させることができることに注意してください。
以上がPythonで囲みクラス型を使用してメソッドをタイプヒントする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。