1
私は、タプルのリストのように、インデックス付けできる変数を入力として受け入れることができる関数を持っています。関数の型ヒントにこれをどのように指定するのですか?どのタイプヒントにリストとタプルの両方が含まれていますか?
私は、タプルのリストのように、インデックス付けできる変数を入力として受け入れることができる関数を持っています。関数の型ヒントにこれをどのように指定するのですか?どのタイプヒントにリストとタプルの両方が含まれていますか?
あなたの方法はsequenceを受け入れていますので、typing.Sequence
を使用してください。あなたはシーケンスが含まれている必要がありますオブジェクトのタイプ(複数可)を指定することができますので、それは、一般的なのです:
from typing import Sequence
def foo(bar: Sequence[int]):
# bar is a sequence of integers
:
__getitem__()
を経由して整数インデックスを使用して効率的な要素へのアクセスをサポートして反復可能特殊なメソッドであり、シーケンスの長さを返すメソッド__len__()
を定義します。組み込みシーケンスタイプの中には、list
,str
,tuple
、およびbytes
があります。
シーケンス内のアイテムのタイプを指定する必要がありますか、「bar:sequence」と言うことはできますか? –
@ ErelSegal-Halevi:包含された型を指定しないことが許されます。デフォルトは 'Any'なので、' bar:Sequence'と 'bar:Sequence [Any]'は同等です。 –