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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

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

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

def func(a,b,c):

... return a + b + c

...

func(1,2,3)

6

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

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ù)使用默認值——注解出現(xiàn)在默認值之前。例如,下面的a: 'spam' = 4意味著參數(shù)a的默認值是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': }

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

    關注

    3

    文章

    4331

    瀏覽量

    62622
  • python
    +關注

    關注

    56

    文章

    4797

    瀏覽量

    84690
  • 注解
    +關注

    關注

    0

    文章

    18

    瀏覽量

    2675
收藏 人收藏

    評論

    相關推薦

    pytest學習筆記有哪些?

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

    STC15F2K60S2系列學習板電路圖資料分享

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

    Python學習網(wǎng)絡編程Socket分享

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

    Python機器學習入門pandas的使用提示

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

    新唐科技宣布推出NuMicro M051系列學習板Nu-LB

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

    學習Python的發(fā)展方向

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

    python函數(shù)概念理解

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

    python機器學習筆記資料免費下載

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

    OpenStackCinder學習筆記

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

    3、【STM32F0系列學習—中斷和事件

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

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

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

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

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

    HT32F52352學習筆記

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

    STC8系列學習筆記(一) 數(shù)碼管的驅動設計

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

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

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