很多人在寫完代碼一段時間后回過頭看代碼,很可能忘記了自己寫的函數需要傳什么參數,返回什么類型的結果,就不得不去閱讀代碼的具體內容,降低了閱讀的速度,加上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:生成器類型;