最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一、需求描述

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

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

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

官方網(wǎng)址:

typing --- 類型提示支持 — Python 3.10.1 文檔

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

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

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

如下所示,定義變量類型而不賦值,那么在賦值的時(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è)符合指定類型,就不會(huì)給出提示信息
 
# Dict的使用
def test_Dict(num: int) -> Dict[str,int]:  #
    return {"num": "num", 1: "str(num)", "str(num)": 1}  # 只要有一個(gè)符合指定類型,就不會(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è)符合指定類型,就不會(huì)給出提示信息
 
# Dict和Union的使用
def test_Dict(num: int) -> Dict[str,Union[int, str, bool]]:  #
    return {"num": "num", 1: "str(num)", "str(num)": 1}  # 只要有一個(gè)符合指定類型,就不會(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)聲明的類型,即 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è)符合指定類型,就不會(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è)位置的類型要一一對(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • windows下python安裝pip方法詳解

    windows下python安裝pip方法詳解

    這篇文章主要介紹了windows下python安裝pip方法詳解,需要的朋友可以參考下
    2020-02-02
  • 淺談Python由__dict__和dir()引發(fā)的一些思考

    淺談Python由__dict__和dir()引發(fā)的一些思考

    這篇文章主要介紹了淺談Python由__dict__和dir()引發(fā)的一些思考,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • Django 中間鍵和上下文處理器的使用

    Django 中間鍵和上下文處理器的使用

    這篇文章主要介紹了Django 中間鍵和上下文處理器的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • 一文詳解Python中的時(shí)間和日期處理

    一文詳解Python中的時(shí)間和日期處理

    在Python開發(fā)中,我們經(jīng)常需要處理日期和時(shí)間,Python提供了一些內(nèi)置模塊,如datetime、time和calendar,這些模塊讓我們能夠輕松地獲取、操作和格式化日期和時(shí)間,本文將介紹如何在Python中使用這些模塊進(jìn)行日期和時(shí)間的處理
    2023-06-06
  • python獲取命令行參數(shù)實(shí)例方法講解

    python獲取命令行參數(shù)實(shí)例方法講解

    在本篇文章里小編給大家整理的是一篇關(guān)于python獲取命令行參數(shù)實(shí)例方法講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • python實(shí)現(xiàn)文本去重且不打亂原本順序

    python實(shí)現(xiàn)文本去重且不打亂原本順序

    這篇文章主要介紹了python實(shí)現(xiàn)文本去重且不打亂原本順序,需要的朋友可以參考下
    2016-01-01
  • python實(shí)現(xiàn)七段數(shù)碼管和倒計(jì)時(shí)效果

    python實(shí)現(xiàn)七段數(shù)碼管和倒計(jì)時(shí)效果

    今天小編就為大家分享一篇python實(shí)現(xiàn)七段數(shù)碼管和倒計(jì)時(shí)效果,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • selenium獲取當(dāng)前頁面的url、源碼、title的方法

    selenium獲取當(dāng)前頁面的url、源碼、title的方法

    這篇文章主要介紹了selenium獲取當(dāng)前頁面的url、源碼、title的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python+OCR實(shí)現(xiàn)文檔解析的示例代碼

    Python+OCR實(shí)現(xiàn)文檔解析的示例代碼

    本文是一個(gè)簡單教程,主要介紹了如何使用OCR進(jìn)行文檔解析以及使用Layoutpars軟件包進(jìn)行了整個(gè)檢測和提取過程,感興趣的可以了解一下
    2022-09-09
  • 關(guān)于pycharm中pip版本10.0無法使用的解決辦法

    關(guān)于pycharm中pip版本10.0無法使用的解決辦法

    近期在利用 pycharm 安裝第三方庫時(shí)會(huì)提示 pip 不是最新版本, 因此對(duì) pip 進(jìn)行更新,但是生成最新版本之后, pip 中由于缺少 main 函數(shù),導(dǎo)致在 pycharm 中無法自動(dòng)安裝第三方庫。本文就介紹一下如何解決
    2019-10-10

最新評(píng)論

湖州市| 青阳县| 婺源县| 射阳县| 西丰县| 博乐市| 柘荣县| 和政县| 湛江市| 宁夏| 阿鲁科尔沁旗| 贡嘎县| 章丘市| 微博| 舟山市| 平乐县| 和田县| 玉屏| 吴江市| 青州市| 儋州市| 嘉黎县| 建宁县| 西峡县| 永吉县| 永春县| 嘉定区| 嘉善县| 永吉县| 鸡西市| 建昌县| 潞城市| 大同市| 苏尼特右旗| 乐业县| 眉山市| 株洲县| 丽江市| 邵东县| 宁阳县| 闸北区|