pythonモジュール分析のtyping(三)

2107 ワード

  • 前言:多くの人がコードを書き終わってからコードを振り返ると、自分が書いた関数がどんなパラメータを伝える必要があるのか、どんなタイプの結果を返す必要があるのかを忘れてしまう可能性があります.コードの具体的な内容を読まなければなりません.読むスピードを下げ、Python自体が弱いタイプの言語であることを加えると、このような現象はさらに深刻になります.typingというモジュールはこの問題をよく解決した.

  • シリーズ記事
  • pythonモジュール分析のrandom(一)
  • pythonモジュール分析hashlib暗号化(二)
  • pythonモジュール分析のtyping(三)
  • pythonモジュール分析のloggingログ(4)
  • pythonモジュール分析のunittestテスト(五)
  • pythonモジュール分析collections(六)
  • typingモジュールの役割:
  • タイプチェックで、実行時にパラメータと戻り値タイプが一致しないようにします.
  • は、開発ドキュメントの追加説明として、ユーザが呼び出したときにパラメータタイプを入力および返すのを容易にする.
  • このモジュールが追加された後、プログラムの実行に影響を与えることはなく、正式なエラーは報告されず、注意するしかありません.
  •   :typing     python3.5           ,pycharm    typing  
  • typingモジュールでよく使われる方法:
  • from typing import List, Tuple, Dict
    def add(a:int, string:str, f:float, b:bool) -> Tuple[List, Tuple, Dict, bool]:
        list1 = list(range(a))
        tup = (string, string, string)
        d = {"a":f}
        bl = b
        return list1, tup, d,bl
    print(add(5,"hhhh", 2.3, False))
    #   :([0, 1, 2, 3, 4], ('hhhh', 'hhhh', 'hhhh'), {'a': 2.3}, False)
  • 説明:
  • パラメータの入力時に「パラメータ名:タイプ」という形式でパラメータのタイプを宣言する.
  • は、結果のタイプを「->結果タイプ」として宣言した結果を返します.
  • 呼び出し時にパラメータのタイプが正しくないpycharmは注意されますが、プログラムの実行には影響しません.
  • listリストなどについては、「->List[str]」など、リストを返し、要素が文字列であることを規定するより具体的に規定することもできる.
  • pythonは生まれつきマルチステートをサポートするため、反復器の要素は以下のように多様である可能性があります:
  • from typing import List
    def func(a:int, string:str) -> List[int or str]:
        list1 = []
        list1.append(a)
        list1.append(string)
        return list1
    
    #   or         
  • typingでよく使われるタイプ:
  • int,long,float:整型、長整形、浮動小数点型;
  • bool,str:ブール型、文字列タイプ;
  • List,Tuple,Dict,Set:リスト,メタグループ,辞書,集合;
  • Iterable,Iterator:反復可能タイプ、反復器タイプ;
  • Generator:ジェネレータタイプ;

  • 作者:天宇の旅出典:http://www.cnblogs.com/cwp-bg/
    本文の著作権は作者とブログ園に共有され、転載、交流を歓迎するが、作者の同意を得ずにこの声明を保留し、文章の明らかな位置で原文のリンクを与えなければならない.
    転載先:https://www.cnblogs.com/cwp-bg/p/7825729.html