Python中typing模組的介紹(程式碼實例)

不言
發布: 2018-11-23 17:04:45
轉載
8436 人瀏覽過
本篇文章帶給大家的內容是關於Python中typing模組的介紹(程式碼實例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

Python是一門弱型別的語言,很多時候我們可能不清楚函數參數型別或回傳值型,很有可能導致一些型別沒有指定方法,typing模組可以很好的解決這個問題。

該模組加入並不會影響程式的運行,不會報正式的錯誤,只有提醒。

typing模組只有在python3.5以上的版本中才可以使用,pycharm目前支援typing檢查

一、typing模組的作用

1、型別檢查,防止運行時出現參數和回傳值類型不符合的問題。

2、作為開發文件附件說明,方便使用者呼叫時傳入和傳回參數類型。

二、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

if __name__ == '__main__':
    print(add(5,'mark',183.1,False))
登入後複製

執行結果:

([0, 1, 2, 3, 4], ('mark', 'mark', 'mark'), {'a': 183.1}, False)
登入後複製

說明:

  1. 在傳入參數時,透過「參數名稱:類型」的形式宣告參數的型別;

  2. 傳回結果透過「->結果類型」的形式宣告結果的型別

  3. 在呼叫的時候如果參數的型別不正確pycharm會有提醒,但不會影程式的運作。

  4. 對於如list列表等,也可以規定更具體一些,如“->List[str]”,規定傳回的是列表,而元素是字串。

現在對上面程式碼進行修改,可以看到pycharm背景變成黃色區域,就是錯誤類型提醒:

Python中typing模組的介紹(程式碼實例)

三、typing常用的型別

  1. int,long,float:整數型,長整數型,浮點型

  2. bool,str:布林型,字串型別

  3. List,Tuple,Dict,Set:列表,元組,字典,集合

  4. Iterable,Iterator:可迭代器,迭代器型別

  5. Generator:產生器型別

四、typing支援可能的多種類型

由於python天生支援多態,迭代器中的元素可能有多種。

程式碼實例:

from typing import List, Tuple, Dict


def add(a: int, string: str, f: float, b: bool or str) -> Tuple[List, Tuple, Dict, str or bool]:
    list1 = list(range(a))
    tup = (string, string, string)
    d = {"a": f}
    bl = b
    return list1, tup, d, bl


if __name__ == '__main__':
    print(add(5, 'mark', 183.1, False))
    print(add(5, 'mark', 183.1, 'False'))
登入後複製

執行結果(跟不用typing無異):

([0, 1, 2, 3, 4], ('mark', 'mark', 'mark'), {'a': 183.1}, False)
([0, 1, 2, 3, 4], ('mark', 'mark', 'mark'), {'a': 183.1}, 'False')
登入後複製

#

以上是Python中typing模組的介紹(程式碼實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!