python3新特性函數(shù)注釋Function Annotations用法分析
本文分析了python3新特性函數(shù)注釋Function Annotations用法。分享給大家供大家參考,具體如下:
Python 3.X新增加了一個(gè)特性(Feature),叫作函數(shù)注釋 Function Annotations
它的用途雖然不是語法級(jí)別的硬性要求,但是顧名思義,它可做為函數(shù)額外的注釋來用。
Python中普通的函數(shù)定義如下:
def func(a, b, c): return a + b + c >>> func(1, 2, 3) 6
添加了函數(shù)注釋的函數(shù)會(huì)變成如下形式:
def func(a: 'spam', b: (1, 10), c: float) -> int: return a + b + c >>> func(1, 2, 3) 6
注釋的一般規(guī)則是參數(shù)名后跟一個(gè)冒號(hào)(:),然后再跟一個(gè)expression,這個(gè)expression可以是任何形式。
返回值的形式是 -> int,annotation可被保存為函數(shù)的attributes。
查看所有的annotation,可通過如下語句:
>>> func.__annotations__
{'c': <class 'float'>, 'a': 'spam', 'b': (1, 10), 'return': <class 'int'>}
如果為函數(shù)增加了注釋,可不可以繼續(xù)使用默認(rèn)參數(shù)呢?答案是肯定的。
>>> def func(a: 'spam' = 4, b: (1, 10) = 5, c: float = 6) -> int:
... return a + b + c
...
>>> func(1, 2, 3)
6
>>> func()
15
>>> func(1, c=10)
16
>>> func.__annotations__
{'c': <class 'float'>, 'a': 'spam', 'b': (1, 10), 'return': <class 'int'>}
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python中的Pandas?時(shí)間函數(shù)?time?、datetime?模塊和時(shí)間處理基礎(chǔ)講解
Python?中提供了對(duì)時(shí)間日期的多種多樣的處理方式,主要是在?time?和?datetime?這兩個(gè)模塊里,這篇文章主要介紹了Python中的Pandas?時(shí)間函數(shù)?time?、datetime?模塊和時(shí)間處理基礎(chǔ),需要的朋友可以參考下2023-03-03
Python中的進(jìn)程操作模塊(multiprocess.process)
這篇文章介紹了Python中的進(jìn)程操作模塊(multiprocess.process),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
10分鐘用python搭建一個(gè)超好用的CMDB系統(tǒng)
這篇文章主要介紹了10分鐘用python搭建一個(gè)超好用的CMDB系統(tǒng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
使用Python將PDF表格提取到文本,CSV和Excel文件中
本文將介紹如何使用簡單的Python代碼從PDF文檔中提取表格數(shù)據(jù)并將其寫入文本、CSV和Excel文件,從而輕松實(shí)現(xiàn)PDF表格的自動(dòng)化提取,有需要的可以參考下2024-11-11
python?pandas數(shù)據(jù)處理教程之合并與拼接
在實(shí)際處理數(shù)據(jù)業(yè)務(wù)需求中,我們經(jīng)常會(huì)遇到這樣的需求,將多個(gè)表連接起來再進(jìn)行數(shù)據(jù)的處理和分析,類似SQL中的連接查詢功能,下面這篇文章主要給大家介紹了關(guān)于python?pandas數(shù)據(jù)處理教程之合并與拼接的相關(guān)資料,需要的朋友可以參考下2022-02-02
python如何給內(nèi)存和cpu使用量設(shè)置限制
這篇文章主要介紹了python如何給內(nèi)存和cpu使用量設(shè)置限制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
Anaconda+Pycharm+Pytorch虛擬環(huán)境創(chuàng)建(各種包安裝保姆級(jí)教學(xué))
相信很多時(shí)候大家都會(huì)用到虛擬環(huán)境,他具有可以讓你快速切換不同的python版本,本文主要介紹了Anaconda+Pycharm+Pytorch虛擬環(huán)境創(chuàng)建,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10

