python 3のtypingモジュールを使用してコードの堅牢性を向上

12581 ワード

転自:職人123
python 3のtypingモジュールを使用してコードの堅牢性を向上
  • 前言:多くの人がコードを書き終わってからコードを振り返ると、自分が書いた関数がどんなパラメータを伝える必要があるのか、どんなタイプの結果を返す必要があるのかを忘れてしまう可能性があります.コードの具体的な内容を読まなければなりません.読むスピードを下げ、Python自体が弱いタイプの言語であることを加えると、このような現象はさらに深刻になります.typingというモジュールはこの問題をよく解決した.
  • typingモジュールの役割:
  • タイプチェックで、実行時にパラメータと戻り値タイプが一致しないようにします.
  • は、開発ドキュメントの追加説明として、ユーザが呼び出したときにパラメータタイプを入力および返すのを容易にする.
  • このモジュールが追加された後、プログラムの実行に影響を与えることはなく、正式なエラーは報告されず、注意するしかありません.
  • typing     python3.5           ,pycharm    typing  
         
         
         
         
    • 下面说说typing模块常用的方式:
    
         
         
         
         
    1. from typing import List, Tuple, Dict
    2. def add(a:int, string:str, f:float, b:bool) -> Tuple[List, Tuple, Dict, bool]:
    3. list1 = list(range(a))
    4. tup = (string, string, string)
    5. d = { "a":f}
    6. bl = b
    7. return list1, tup, d,bl
    8. print(add( 5, "hhhh", 2.3, False))
    9. # :([0, 1, 2, 3, 4], ('hhhh', 'hhhh', 'hhhh'), {'a': 2.3}, False)
    • “ : ” ;

    • "-> " 。

    • pycharm , 。

    • list , , :“-> List[str]”, , 。

    • python , , :

    
         
         
         
         
    1. from typing import List
    2. def func(a:int, string:str) -> List[int or str]:
    3. list1 = []
    4. list1.append(a)
    5. list1.append(string)
    6. return list1
    7. # or
    • typing :

    • int,long,float: , , ;
    • bool,str: , ;
    • List, Tuple, Dict, Set: , , , ;
    • Iterable,Iterator: , ;
    • Generator: ;