python模塊:typing


  很多人在寫完代碼一段時間后回過頭看代碼,很可能忘記了自己寫的函數需要傳什么參數,返回什么類型的結果,就不得不去閱讀代碼的具體內容,降低了閱讀的速度,加上Python本身就是一門弱類型的語言,這種現象就變得更加的嚴重,而typing這個模塊很好的解決了這個問題。typing模塊只有在python3.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:生成器類型;

 


免責聲明!

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



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