typing.Dict和Dict的區(qū)別及它們?cè)赑ython中的用途小結(jié)
當(dāng)在 Python 函數(shù)中聲明一個(gè) dictionary 作為參數(shù)時(shí),我們一般會(huì)把 key 和 value 的數(shù)據(jù)類型聲明為全局變量,而不是局部變量。
如果我們需要將字典的鍵和值的數(shù)據(jù)類型聲明為一個(gè)局部變量,該怎么辦?這篇文章討論了我們?nèi)绾问褂?code>typing.Dict 的類型提示,并將其與通常的dict 函數(shù)區(qū)分開來。
typing.Dict 和dict 之間的區(qū)別以及它們?cè)?Python 中的用途
在 Python 函數(shù)中聲明一個(gè)字典作為參數(shù)時(shí),使用typing.Dict 和普通的dict 在現(xiàn)實(shí)世界中沒有區(qū)別。
然而,typing.Dict 函數(shù)是一個(gè)通用類型的函數(shù),可以讓我們指定鍵和值的數(shù)據(jù)類型,使其更加靈活。
此外,由于我們不能靜態(tài)地推斷容器中通用保存的對(duì)象的類型信息,抽象基類已經(jīng)被擴(kuò)展,以支持訂閱來表示容器元素的通用類型。
def exampleFunction(typing.Dict[str, int])
例如,在我們項(xiàng)目生命周期的某一時(shí)刻,我們想更精確地定義字典參數(shù),此時(shí)將typing.Dict 擴(kuò)展為typing.Dict[key_type, value_type] 比用dict() 替換整個(gè)字典是更小的改變。
我們可以通過使用Mapping 或MutableMapping 類型使我們的字典更通用。dictionary 是一種映射,但是我們可以創(chuàng)建滿足映射接口的其它對(duì)象。
def exampleFunction(typing.Mapping[str,int])
注意,Python 并不強(qiáng)制執(zhí)行類型提示。它們只是提示,并不用于在運(yùn)行時(shí)或編譯時(shí)實(shí)現(xiàn)類型。
然而,如果我們使用 Python 3.9 及以上版本,Python 已經(jīng)廢棄了typing.Dict ,而是在內(nèi)置的dict() 命令中強(qiáng)制執(zhí)行類型提示。我們可以在 Python 中聲明一個(gè)字典時(shí)指定類型。
def exampleFunction(dict[str,int])
到此這篇關(guān)于typing.Dict和Dict的區(qū)別及它們?cè)赑ython中的用途小結(jié)的文章就介紹到這了,更多相關(guān)typing.Dict和Dict的區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python報(bào)錯(cuò)TypeError: ‘NoneType‘ object is
在Python編程中,TypeError 是一個(gè)常見的錯(cuò)誤,它表明代碼中存在類型不匹配的問題,TypeError: 'NoneType' object is not subscriptable 是一個(gè)具體的例子,本文將探討這個(gè)錯(cuò)誤的原因,并提供幾種解決方案,需要的朋友可以參考下2024-10-10
python爬蟲之爬取百度音樂的實(shí)現(xiàn)方法
今天小編就為大家分享一篇python爬蟲之爬取百度音樂的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
python實(shí)現(xiàn)啟動(dòng)一個(gè)外部程序,并且不阻塞當(dāng)前進(jìn)程
這篇文章主要介紹了python實(shí)現(xiàn)啟動(dòng)一個(gè)外部程序,并且不阻塞當(dāng)前進(jìn)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12
python使用if語句實(shí)現(xiàn)一個(gè)猜拳游戲詳解
這篇文章主要介紹了python使用if語句實(shí)現(xiàn)一個(gè)猜拳游戲詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Pyramid Mako模板引入helper對(duì)象的步驟方法
ylons中的mako模板,默認(rèn)會(huì)引入一個(gè)helper對(duì)象,我們可以在里面擴(kuò)展方法,應(yīng)對(duì)在模板輸出時(shí)候會(huì)常用的操作,那么在Pyramid中如何默認(rèn)引入同樣的輔助類到模板中2013-11-11
Python實(shí)現(xiàn)清理重復(fù)文件功能的示例代碼
在電腦上或多或少的存在一些重復(fù)文件,體積小的倒沒什么,如果體積大的就很占內(nèi)存了。本文用python制作了一個(gè)刪除重復(fù)文件的小工具,核心代碼很簡單,希望對(duì)你有所幫助2022-07-07
python+numpy實(shí)現(xiàn)的基本矩陣操作示例
這篇文章主要介紹了python+numpy實(shí)現(xiàn)的基本矩陣操作,結(jié)合實(shí)例形式分析了Python使用numpy模塊針對(duì)矩陣進(jìn)行創(chuàng)建、增刪查改、索引、運(yùn)算相關(guān)操作實(shí)現(xiàn)技巧,注釋中包含有詳細(xì)的說明,需要的朋友可以參考下2019-07-07
使用python本地部署DeepSeek運(yùn)行時(shí)報(bào)錯(cuò)?OSError:?[WinError?193]?%1?不是
文章介紹了在本地使用Python部署DeepSeek時(shí)遇到的OSError:?[WinError?193]?錯(cuò)誤,通過檢查錯(cuò)誤信息,發(fā)現(xiàn)與numpy版本有關(guān),解決方法是卸載并重新安裝numpy,最終,問題得到解決,感興趣的朋友跟隨小編一起看看吧2025-02-02

