0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python系列學(xué)習(xí)筆記之函數(shù)注解

jf_78858299 ? 來源:人工智能知識分享 ? 作者:人工智能知識分享 ? 2023-02-21 10:34 ? 次閱讀

Python 3.0中,可以給函數(shù)對象附加注解信息。這些信息會(huì)附加到函數(shù)對象的__annotations__屬性。

如下是一個(gè)不帶注解的函數(shù),它編寫為帶有3個(gè)參數(shù)并且返回一個(gè)結(jié)果:

def func(a,b,c):

... return a + b + c

...

func(1,2,3)

6

從語法上講,函數(shù)注解編寫在def頭部行。對于參數(shù),它們出現(xiàn)在緊隨參數(shù)名之后的冒號之后;對于返回值,它們編寫于緊跟在參數(shù)列表之后的一個(gè)->之后。例如,這段代碼,注解了前面函數(shù)的3個(gè)參數(shù)及其返回值:

def func(a: 'spam',b: (1,10),c: float) -> int:

... return a + b + c

...

func(1,2,3)

6

Python將注解信息收集到字典中并且將它們附加給函數(shù)對象自身。參數(shù)名變成鍵,如果編寫了返回值注解的話,它存儲在鍵“return”下:

func.annotations

{'a': 'spam','c': ,'b': (1,10),'return': }

下面的例子只是注解了3個(gè)參數(shù)中的兩個(gè):

def func(a: 'spam',b,c: 99):

... return a + b + c

...

func(1,2,3)

6

func.annotations

{'a': 'spam','c': 99}

for arg in func. annotations :

... print(arg,'=>',func. annotations [arg])

...

a => spam

c => 99

如果編寫了注解的話,仍然可以對參數(shù)使用默認(rèn)值——注解出現(xiàn)在默認(rèn)值之前。例如,下面的a: 'spam' = 4意味著參數(shù)a的默認(rèn)值是4,并且用字符串'spam'注解它:

def func(a: 'spam' = 4,b: (1,10) = 5,c: float = 6) -> int:

... return a + b + c

...

func(1,2,3)

6

func() # 4 + 5 + 6 (all defaults)

15

func(1,c=10) # 1 + 5 + 10 (keywords work normally)

16

func.annotations

{'a': 'spam','c': ,'b': (1,10),'return': }

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4284

    瀏覽量

    62325
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4768

    瀏覽量

    84376
  • 注解
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    2665
收藏 人收藏

    評論

    相關(guān)推薦

    pytest學(xué)習(xí)筆記有哪些?

    fixure為什么不能調(diào)用低級別的fixure?pytest.mark.usefixure注解在類上面和寫在方法入?yún)⒗锩嬗惺裁床顒e?pytest學(xué)習(xí)筆記匯總
    發(fā)表于 11-04 09:23

    STC15F2K60S2系列學(xué)習(xí)板電路圖資料分享

    本次分享的是來自STC官網(wǎng)的STC15F2K60S2系列學(xué)習(xí)板-32KSRAM電路圖。STC15F2K60S2單片機(jī)是一種增強(qiáng)型的8051單片機(jī),是新型的FLASH單片機(jī),與傳統(tǒng)的8051系列單片機(jī)
    發(fā)表于 11-09 14:30

    Python學(xué)習(xí)網(wǎng)絡(luò)編程Socket分享

    Python學(xué)習(xí)網(wǎng)絡(luò)編程Socket
    發(fā)表于 07-02 08:18

    Python機(jī)器學(xué)習(xí)入門pandas的使用提示

    系列文章目錄提示:這里可以添加系列文章的所有文章的目錄,目錄需要自己手動(dòng)添加例如:第一章 Python 機(jī)器學(xué)習(xí)入門pandas的使用提示
    發(fā)表于 08-13 07:36

    新唐科技宣布推出NuMicro M051系列學(xué)習(xí)板Nu-LB

      新唐科技宣布推出NuMicro M051 系列學(xué)習(xí)板 Nu-LB-M051。該學(xué)習(xí)版特別針對想要入門或評估新唐NuMicro M051 系列 MCU所規(guī)劃。Nu-LB-M051為功能完整且便利型的入門型
    發(fā)表于 11-26 08:53 ?1518次閱讀

    學(xué)習(xí)Python的發(fā)展方向

    編程方向; Python 基礎(chǔ)學(xué)習(xí) Python 語句 學(xué)習(xí)python 的運(yùn)算符和表達(dá)式,聲明語句,基本的輸入輸出語句、注釋語句、流程控制
    的頭像 發(fā)表于 04-02 15:43 ?7484次閱讀

    python函數(shù)概念理解

    函數(shù)是可以實(shí)現(xiàn)一些特定功能的小方法或是小程序。在Python中有很多內(nèi)建函數(shù),當(dāng)然隨著學(xué)習(xí)的深入,我們可以學(xué)會(huì)創(chuàng)建對自己有用的函數(shù)。
    的頭像 發(fā)表于 01-18 17:37 ?2283次閱讀

    python機(jī)器學(xué)習(xí)筆記資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是python機(jī)器學(xué)習(xí)筆記資料免費(fèi)python機(jī)器學(xué)習(xí)筆記資料免費(fèi)下載
    發(fā)表于 03-01 10:09 ?39次下載

    OpenStackCinder學(xué)習(xí)筆記

    OpenStackCinder學(xué)習(xí)筆記(開關(guān)電源技術(shù)教程ppt)-該文檔為OpenStackCinder學(xué)習(xí)
    發(fā)表于 09-23 12:40 ?5次下載
    OpenStack<b class='flag-5'>之</b>Cinder<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>

    3、【STM32F0系列學(xué)習(xí)—中斷和事件

    【STM32F0系列學(xué)習(xí)—中斷和事件1、什么是“中斷”2、中斷優(yōu)先級3、中斷嵌套4、嵌套向量中斷控制器 (NVIC)5、中斷與事件的區(qū)別和主要特性6、外部中斷(EXTI)配置6.1【標(biāo)準(zhǔn)庫
    發(fā)表于 11-26 12:21 ?9次下載
    3、【STM32F0<b class='flag-5'>系列學(xué)習(xí)</b>】<b class='flag-5'>之</b>—中斷和事件

    ROS 學(xué)習(xí)筆記五:對Arduino環(huán)境刮目相看

    ROS 學(xué)習(xí)筆記五:對Arduino環(huán)境刮目相看
    發(fā)表于 11-29 09:51 ?2次下載
    ROS <b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b>五:對Arduino環(huán)境刮目相看

    2、【STM32F0系列學(xué)習(xí)—通用輸入輸出端口(GPIO)

    【STM32F0系列學(xué)習(xí)—通用輸入輸出端口GPIO1、GPIO端口配置說明1、GPIO端口配置說明
    發(fā)表于 11-29 16:51 ?66次下載
    2、【STM32F0<b class='flag-5'>系列學(xué)習(xí)</b>】<b class='flag-5'>之</b>—通用輸入輸出端口(GPIO)

    HT32F52352學(xué)習(xí)筆記

    HT32F52352學(xué)習(xí)筆記
    發(fā)表于 12-02 20:36 ?6次下載
    HT32F52352<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b>六

    STC8系列學(xué)習(xí)筆記(一) 數(shù)碼管的驅(qū)動(dòng)設(shè)計(jì)

    STC8系列學(xué)習(xí)筆記(一) 數(shù)碼管的驅(qū)動(dòng)設(shè)計(jì)暑假從實(shí)驗(yàn)室借了一塊stc8的開發(fā)板,簡單的記錄下自己學(xué)習(xí)的過程。我不知道咋分類的,因?yàn)槲沂俏锫?lián)網(wǎng)工程專業(yè)的,就分類到物聯(lián)網(wǎng)把。剛開始首先
    發(fā)表于 12-22 18:48 ?14次下載
    STC8<b class='flag-5'>系列學(xué)習(xí)</b><b class='flag-5'>筆記</b>(一)  數(shù)碼管的驅(qū)動(dòng)設(shè)計(jì)

    Python入門什么是函數(shù)

    Python函數(shù)比我們想象的更為靈活。由于Python函數(shù)是對象,所以函數(shù)對象可以賦值給其他的名字、傳遞給其他
    的頭像 發(fā)表于 02-21 14:24 ?478次閱讀