pythonモジュール:typing

2393 ワード

多くの人がコードを書き終わってからしばらくコードを振り返ると、自分が書いた関数がどんなパラメータを伝える必要があるのか、どんなタイプの結果を返す必要があるのかを忘れてしまう可能性があります.コードの具体的な内容を読まなければなりません.読むスピードを下げなければなりません.Python自体が弱いタイプの言語であることを加えると、このような現象はさらに深刻になります.typingというモジュールはこの問題をよく解決した.typingモジュールはpython 3のみです.5以上のバージョンでのみ使用できますが、pycharmではtypingチェックがサポートされています
typingモジュールの役割:
  • タイプチェックで、実行時にパラメータと戻り値タイプが一致しないようにします.
  • は、開発ドキュメントの追加説明として、ユーザが呼び出したときにパラメータタイプを入力および返すのを容易にする.
  • このモジュールが追加された後、プログラムの実行に影響を与えることはなく、正式なエラーは報告されず、注意するしかありません.
  • from typing import List, Dict, Tuple
    
    # ->:             
    def func(a: int, b: str, c: float, d: bool or str) -> Tuple[List, Dict, Tuple, bool or str]:
        lst = list(range(a))
        tup = (b, b, b)
        dic = {'a': c}
        boo = d
        return lst, dic, tup, boo
    
    
    print(func(1, 'hello', 13.14, True))
    # ([0], {'a': 13.14}, ('hello', 'hello', 'hello'), True)

    説明:
     
  • パラメータの入力時に「パラメータ名:タイプ」という形式でパラメータのタイプを宣言する.
  • は、結果のタイプを「->結果タイプ」として宣言した結果を返します.
  • 呼び出し時にパラメータのタイプが正しくないpycharmは注意されますが、プログラムの実行には影響しません.
  • listリストなどについては、「->List[str]」など、リストを返し、要素が文字列であることを規定するより具体的に規定することもできる.

  •  
    typingでよく使われるタイプ:
     
  • int,long,float:整型、長整形、浮動小数点型;
  • bool,str:ブール型、文字列タイプ;
  • List,Tuple,Dict,Set:リスト,メタグループ,辞書,集合;
  • Iterable,Iterator:反復可能タイプ、反復器タイプ;
  • Generator:ジェネレータタイプ;

  •  
    転載先:https://www.cnblogs.com/huangqihui/p/10972329.html