- 前言:很多人在寫完代碼一段時間后回過頭看代碼,很可能忘記了自己寫的函數需要傳什么參數,返回什么類型的結果,就不得不去閱讀代碼的具體內容,降低了閱讀的速度,加上Python本身就是一門弱類型的語言,這種現象就變得更加的嚴重,而typing這個模塊很好的解決了這個問題。
系列文章
-
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/
- 本文版權歸作者和博客園共有,歡迎轉載、交流,但未經作者同意必須保留此段聲明,且在文章明顯位置給出原文鏈接。