python使用typing模塊加強代碼的可讀性(實戰(zhàn)演示)
一、需求描述
沒有類型提示的編程,總覺得不太方便,好在python3.5以后內置了typing模塊。
typing模塊會對函數(shù)和變量類型進行注解。
但是Python 運行時不強制執(zhí)行函數(shù)和變量類型注解,但這些注解可用于類型檢查器、IDE、靜態(tài)檢查器等第三方工具。
官方網(wǎng)址:
typing --- 類型提示支持 — Python 3.10.1 文檔
https://docs.python.org/zh-cn/3/library/typing.html
二、實戰(zhàn)演練
1、體驗注解功能
如下所示,定義變量類型而不賦值,那么在賦值的時候就會有相應的提示,但運行不報錯
from typing import AbstractSet from typing import Dict from typing import Generator from typing import List from typing import Mapping from typing import Optional from typing import Tuple from typing import TypeVar from typing import Union list_001:List[int] list_001 = 123
?2、List和Dict的使用
# List的使用 def test_List(num: int) -> List[int]: return [num, bool(num), str(num)] # 只要有一個符合指定類型,就不會給出提示信息 # Dict的使用 def test_Dict(num: int) -> Dict[str,int]: # return {"num": "num", 1: "str(num)", "str(num)": 1} # 只要有一個符合指定類型,就不會給出提示信息 # return {1: 3} # 如果是key是1,則會出現(xiàn)提示key應該是str # return {"1":3} print(test_Dict(5))
?3、Union的使用
# List的使用 def test_List(num: int) -> [int or str or bool]: return [num, bool(num), str(num)] # 只要有一個符合指定類型,就不會給出提示信息 # Dict和Union的使用 def test_Dict(num: int) -> Dict[str,Union[int, str, bool]]: # return {"num": "num", 1: "str(num)", "str(num)": 1} # 只要有一個符合指定類型,就不會給出提示信息 # return {1: 3} # 如果是key是1,則會出現(xiàn)提示key應該是str # return {"1":3} print(test_List(1)) print(test_Dict(5))
4、Optional的使用
這個參數(shù)可以為空或已經(jīng)聲明的類型,即 Optional[X] 等價于 Union[X, None]?
# Dict和Optional的使用 def test_Dict(num: int) -> Dict[str,Optional[str]]: # return {"num": "num", 1: "str(num)", "str(num)": 1} # 只要有一個符合指定類型,就不會給出提示信息 # return {1: 3} # 如果是key是1,則會出現(xiàn)提示key應該是str # return {"1":3} def test_Dict01(num: int) -> Dict[str,Optional[int]]: # return {"1":None}
5、Tuple的使用
與列表一致,元組泛型要求每個位置的類型要一一對應
# Optional的使用 def test_Dict(num: int) -> Dict[int,Tuple[int,int]]: # return {1:(1,2)} # return {1:(1)} # 非一一對應的時候會給出提示
到此這篇關于python:使用typing模塊加強代碼的可讀性的文章就介紹到這了,更多相關python typing模塊加強代碼內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python技巧之實現(xiàn)批量統(tǒng)一圖片格式和尺寸
大家在工作的時候基本都會接觸到很多的圖片,有時為了不同的工作需求需要修改圖片的尺寸或者大小。本文為大家整理了Python批量轉換圖片格式和統(tǒng)一圖片尺寸,希望對大家有所幫助2023-05-05mac 上配置Pycharm連接遠程服務器并實現(xiàn)使用遠程服務器Python解釋器的方法
這篇文章主要介紹了mac 上如何配置Pycharm連接遠程服務器并實現(xiàn)使用遠程服務器Python解釋器,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03Python調用Matplotlib繪制振動圖、箱型圖和提琴圖
Matplotlib作為用于數(shù)據(jù)可視化的Python軟件包,能夠繪制多種2D圖像,它使用簡單、代碼清晰易懂,深受廣大技術愛好者喜愛。本文主要介紹了通過?Matplotlib繪制振動圖、箱型圖、提琴圖,需要的朋友可以參考一下2021-12-12