1つのパラメーターを返す関数の注釈を記述しても問題はありません。
def func() -> str:
return "ok"
ただし、2つ以上のパラメーターを使用して注釈を作成すると、PyCharmによってSyntaxError: invalid syntax
。
def func() -> str, str:
return "ok - 1", "ok - 2"
パラメータはTuple
と組み合わせることができると思いますが、それが最良の方法だとは思いません。
私の質問は、2つ以上の戻りパラメーターを持つ関数に適切に注釈を付けるにはどうすればよいですか?
PEPリンクがある場合は、それを返信に含めてください。 PEP 484 と PEP 3107 で答えを探しましたが、見つかりませんでした。
使用する typing.Tuple
:
from typing import Tuple
def func() -> Tuple[str, str]:
return 'a', 'b'
概念的には、実際にはこれらの値を含む単一のTuple
を返すため、これは適切です。注意:
print(type(func()))
出力:
<class 'Tuple'>
空のTuple
(()
)、 かっこはではありませんTuple
を定義する必要はありません。つまり、'a', 'b'
は、Tuple
ステートメントによって1つの値にまとめられるのではなく、return
として作成されます。