摘要:代碼實例運行結果跟不用無異上一篇文章模塊分析第節加密模塊下一篇文章模塊分析第節日志模塊
上一篇文章:Python模塊分析:第2節-hashlib加密模塊
下一篇文章:Python模塊分析:第4節-logging日志模塊
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 if __name__ == "__main__": print(add(5,"mark",183.1,False))
運行結果:
([0, 1, 2, 3, 4], ("mark", "mark", "mark"), {"a": 183.1}, False)
說明:
在傳入參數時,通過“參數名:類型”的形式聲明參數的類型;
返回結果通過“->結果類型”的形式聲明結果的類型
在調用的時候如果參數的類型不正確pycharm會有提醒,但不會影程序的運行。
對于如list列表等,還可以規定更加具體一些,如“->List[str]”,規定返回的是列表,并且元素是字符串。
現在對上面代碼進行修改,可以看到pycharm背景變黃色區域,就是錯誤類型提醒:
int,long,float:整型,長整型,浮點型
bool,str:布爾型,字符串類型
List,Tuple,Dict,Set:列表,元組,字典,集合
Iterable,Iterator:可迭代器,迭代器類型
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模塊分析:第2節-hashlib加密模塊
下一篇文章:Python模塊分析:第4節-logging日志模塊
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42642.html
摘要:上一篇文章模塊分析第節模塊下一篇文章模塊分析第節模塊模塊是用來對字符串進行加密的模塊,明文與密文是一一對應不變的關系用于注冊登錄時用戶名密碼等加密使用。一函數分析共有種加密算法,分別得到不同的加密密文。 上一篇文章:Python模塊分析:第1節-random模塊下一篇文章:Python模塊分析:第3節-typing模塊 hashlib模塊是用來對字符串進行hash加密的模塊,明文與密...
摘要:上一篇文章模塊分析第節模塊一日志記錄的級別優先級,記錄調試的詳細信息,只在調試時開啟優先級,記錄普通的消息,報告錯誤和警告等待。監聽端口號上一篇文章模塊分析第節模塊 上一篇文章:Python模塊分析:第3節-typing模塊 一、日志記錄的級別 debug:優先級10,記錄調試的詳細信息,只在調試時開啟 info:優先級20,記錄普通的消息,報告錯誤和警告等待。 warning:優...
摘要:下一篇文章模塊分析第節加密模塊是產生偽隨機數的模塊,隨機種子默認為系統時鐘。核心源碼時間復雜度實例結果下一篇文章模塊分析第節加密模塊 下一篇文章:Python模塊分析:第2節-hashlib加密模塊 random是Python產生偽隨機數的模塊,隨機種子默認為系統時鐘。下面分析模塊中的方法: 1、random.randint(start,stop) 這是一個產生整數隨機數的函數,參數...
摘要:課程簡介簡明易懂的課程,不僅適用于那些有其它語言基礎的同學,對沒有編程經驗的同學也非常友好。建議遵守以下約定使用個空格來縮進永遠不要混用空格和制表符在函數之間空一行在類之間空兩行字典,列表,元組以及參數列表中,在后添加一個空格。 showImg(https://segmentfault.com/img/bVCldE); 課程簡介:簡明易懂的 Python3 課程,不僅適用于那些有其它語...
摘要:起步上一篇的枚舉類型文末說有機會的話可以看看它的源碼。但這樣的方式并不好,范圍大,它包含該類的所有屬性和方法。而不單單是枚舉的命名空間。每個成員都有名稱屬性和值屬性上述的代碼中,取得的值是。 起步 上一篇 《Python 的枚舉類型》 文末說有機會的話可以看看它的源碼。那就來讀一讀,看看枚舉的幾個重要的特性是如何實現的。 要想閱讀這部分,需要對元類編程有所了解。 成員名不允許重復 這部...
閱讀 1120·2023-04-26 02:46
閱讀 624·2023-04-25 19:38
閱讀 639·2021-10-14 09:42
閱讀 1234·2021-09-08 09:36
閱讀 1354·2019-08-30 15:44
閱讀 1319·2019-08-29 17:23
閱讀 2237·2019-08-29 15:27
閱讀 801·2019-08-29 14:15