使用python3的typing模塊提高代碼健壯性


  • typing模塊的作用:

  1. 類型檢查,防止運行時出現參數和返回值類型不符合。
  2. 作為開發文檔附加說明,方便使用者調用時傳入和返回參數類型。
  3. 該模塊加入后並不會影響程序的運行,不會報正式的錯誤,只有提醒。
注意: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:生成器類型;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM