指定された型のコレクションの型ヒント 質問する

指定された型のコレクションの型ヒント 質問する

Python 3 の関数アノテーションを使用すると、PyCharm やその他の IDE で型ヒントを提供するために、同種リスト (またはその他のコレクション) 内に含まれる項目の型を指定できますか?

int のリストの疑似 Python コード例:

def my_func(l:list<int>):
    pass

Docstring を使用すれば可能であることはわかっています...

def my_func(l):
    """
    :type l: list[int]
    """
    pass

...ただし、可能であれば注釈スタイルの方が好みです。

ベストアンサー1

2015年5月現在、PEP0484 (型ヒント)正式に承認されました。実装案は以下でもご覧いただけます。github の ambv/typehinting の下

2015年9月、Python 3.5がリリースされ、型ヒントのサポートが追加されました。新しいタイピングモジュールこれにより、コレクション内に含まれる型を指定できるようになります。2015 年 11 月現在、JetBrains PyCharm 5.0 は Python 3.5 を完全にサポートしており、以下に示すように型ヒントが含まれています。

PyCharm 5.0 型ヒントを使用したコード補完

元の回答

2014 年 8 月現在、Python 3 の型注釈を使用してコレクション内の型 (例: 文字列のリスト) を指定することはできないことが確認されています。

reStructuredText や Sphinx などのフォーマットされた docstring の使用は実行可能な代替手段であり、さまざまな IDE でサポートされています。

また、Guido は mypy の精神で型注釈を拡張するというアイデアを熟考しているようです。http://mail.python.org/pipermail/python-ideas/2014-August/028618.html

おすすめ記事