欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用typing模塊加強(qiáng)代碼的可讀性(實(shí)戰(zhàn)演示)

 更新時(shí)間:2021年12月21日 15:22:04   作者:Lion King  
Python是一門(mén)弱類(lèi)型的語(yǔ)言,很多時(shí)候我們可能不清楚函數(shù)參數(shù)類(lèi)型或者返回值類(lèi)型,很有可能導(dǎo)致一些類(lèi)型沒(méi)有指定方法,typing模塊可以很好的解決這個(gè)問(wèn)題。下面通過(guò)本文給大家介紹python使用typing模塊加強(qiáng)代碼的可讀性,感興趣的朋友一起看看吧

一、需求描述

沒(méi)有類(lèi)型提示的編程,總覺(jué)得不太方便,好在python3.5以后內(nèi)置了typing模塊。

typing模塊會(huì)對(duì)函數(shù)和變量類(lèi)型進(jìn)行注解。

但是Python 運(yùn)行時(shí)不強(qiáng)制執(zhí)行函數(shù)和變量類(lèi)型注解,但這些注解可用于類(lèi)型檢查器、IDE、靜態(tài)檢查器等第三方工具。

官方網(wǎng)址:

typing --- 類(lèi)型提示支持 — Python 3.10.1 文檔

https://docs.python.org/zh-cn/3/library/typing.html

二、實(shí)戰(zhàn)演練

1、體驗(yàn)注解功能

如下所示,定義變量類(lèi)型而不賦值,那么在賦值的時(shí)候就會(huì)有相應(yīng)的提示,但運(yùn)行不報(bào)錯(cuò)

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)]  # 只要有一個(gè)符合指定類(lèi)型,就不會(huì)給出提示信息
 
# Dict的使用
def test_Dict(num: int) -> Dict[str,int]:  #
    return {"num": "num", 1: "str(num)", "str(num)": 1}  # 只要有一個(gè)符合指定類(lèi)型,就不會(huì)給出提示信息
    # return {1: 3}  # 如果是key是1,則會(huì)出現(xiàn)提示key應(yīng)該是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)]  # 只要有一個(gè)符合指定類(lèi)型,就不會(huì)給出提示信息
 
# Dict和Union的使用
def test_Dict(num: int) -> Dict[str,Union[int, str, bool]]:  #
    return {"num": "num", 1: "str(num)", "str(num)": 1}  # 只要有一個(gè)符合指定類(lèi)型,就不會(huì)給出提示信息
    # return {1: 3}  # 如果是key是1,則會(huì)出現(xiàn)提示key應(yīng)該是str
    # return {"1":3}
print(test_List(1))
print(test_Dict(5))

4、Optional的使用

這個(gè)參數(shù)可以為空或已經(jīng)聲明的類(lèi)型,即 Optional[X] 等價(jià)于 Union[X, None]?

# Dict和Optional的使用
def test_Dict(num: int) -> Dict[str,Optional[str]]:  #
    return {"num": "num", 1: "str(num)", "str(num)": 1}  # 只要有一個(gè)符合指定類(lèi)型,就不會(huì)給出提示信息
    # return {1: 3}  # 如果是key是1,則會(huì)出現(xiàn)提示key應(yīng)該是str
    # return {"1":3}
 
def test_Dict01(num: int) -> Dict[str,Optional[int]]:  #
    return {"1":None}

5、Tuple的使用

與列表一致,元組泛型要求每個(gè)位置的類(lèi)型要一一對(duì)應(yīng)

# Optional的使用
def test_Dict(num: int) -> Dict[int,Tuple[int,int]]:  #
    return {1:(1,2)}
    # return {1:(1)}  # 非一一對(duì)應(yīng)的時(shí)候會(huì)給出提示

到此這篇關(guān)于python:使用typing模塊加強(qiáng)代碼的可讀性的文章就介紹到這了,更多相關(guān)python typing模塊加強(qiáng)代碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python技巧之實(shí)現(xiàn)批量統(tǒng)一圖片格式和尺寸

    Python技巧之實(shí)現(xiàn)批量統(tǒng)一圖片格式和尺寸

    大家在工作的時(shí)候基本都會(huì)接觸到很多的圖片,有時(shí)為了不同的工作需求需要修改圖片的尺寸或者大小。本文為大家整理了Python批量轉(zhuǎn)換圖片格式和統(tǒng)一圖片尺寸,希望對(duì)大家有所幫助
    2023-05-05
  • Python?opencv進(jìn)行圓形識(shí)別(圓檢測(cè))實(shí)例代碼

    Python?opencv進(jìn)行圓形識(shí)別(圓檢測(cè))實(shí)例代碼

    最近工作的項(xiàng)目上需要檢測(cè)圖像中是否有圓形,下面這篇文章主要給大家介紹了關(guān)于Python?opencv進(jìn)行圓形識(shí)別(圓檢測(cè))的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Python subprocess模塊常見(jiàn)用法分析

    Python subprocess模塊常見(jiàn)用法分析

    這篇文章主要介紹了Python subprocess模塊常見(jiàn)用法,結(jié)合實(shí)例形式分析了subprocess模塊進(jìn)程操作相關(guān)使用技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • mac 上配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器的方法

    mac 上配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器的方法

    這篇文章主要介紹了mac 上如何配置Pycharm連接遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)使用遠(yuǎn)程服務(wù)器Python解釋器,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Tensorflow--取tensorf指定列的操作方式

    Tensorflow--取tensorf指定列的操作方式

    這篇文章主要介紹了Tensorflow--取tensorf指定列的操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python調(diào)用Matplotlib繪制振動(dòng)圖、箱型圖和提琴圖

    Python調(diào)用Matplotlib繪制振動(dòng)圖、箱型圖和提琴圖

    Matplotlib作為用于數(shù)據(jù)可視化的Python軟件包,能夠繪制多種2D圖像,它使用簡(jiǎn)單、代碼清晰易懂,深受廣大技術(shù)愛(ài)好者喜愛(ài)。本文主要介紹了通過(guò)?Matplotlib繪制振動(dòng)圖、箱型圖、提琴圖,需要的朋友可以參考一下
    2021-12-12
  • Python多線程學(xué)習(xí)資料

    Python多線程學(xué)習(xí)資料

    Python中使用線程有兩種方式:函數(shù)或者用類(lèi)來(lái)包裝線程對(duì)象
    2012-12-12
  • 詳解python Todo清單實(shí)戰(zhàn)

    詳解python Todo清單實(shí)戰(zhàn)

    這篇文章主要介紹了詳解python Todo清單實(shí)戰(zhàn),需要實(shí)現(xiàn)的功能有添加任務(wù)、刪除任務(wù)、編輯任務(wù),操作要關(guān)聯(lián)數(shù)據(jù)庫(kù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Python超詳細(xì)分步解析隨機(jī)漫步

    Python超詳細(xì)分步解析隨機(jī)漫步

    隨機(jī)游走(random walk)也稱(chēng)隨機(jī)漫步,隨機(jī)行走等是指基于過(guò)去的表現(xiàn),無(wú)法預(yù)測(cè)將來(lái)的發(fā)展步驟和方向。核心是指任何無(wú)規(guī)則行走者所帶的守恒量都各自對(duì)應(yīng)著一個(gè)擴(kuò)散運(yùn)輸定律,接近布朗運(yùn)動(dòng),現(xiàn)階段主要應(yīng)用于互聯(lián)網(wǎng)鏈接分析及金融股票市場(chǎng)中
    2022-03-03
  • python操作yaml說(shuō)明

    python操作yaml說(shuō)明

    這篇文章主要介紹了python操作yaml說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04

最新評(píng)論