在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

Python函數形參的分類

麥辣雞腿堡 ? 來源:Python都知道 ? 作者:了不起 ? 2023-11-14 11:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

形參的分類

形參的分類可以分為六種:

  • 帶有默認值的位置形參
  • 不帶默認值的位置形參
  • 帶有默認值的關鍵字形參
  • 不帶默認值的關鍵字形參
  • 可變長度的位置形參
  • 可變長度的關鍵字形參

實例:

def fn(a,b,c=10,*,d,e=20,**kwargs)

1、帶及不帶默認值的位置形參

實例中,在 * 號之前統稱為位置形參,位置形參可以由位置實參及關鍵字實參進行傳值。

不帶默認值的位置形參:不帶有默認值的位置形參必須要實參進行傳值,如果實參不傳值就會報錯

帶有默認值的位置形參:帶有默認值的關鍵字位置實參可以用實參進行傳值,也可以不使用實參進行傳值,不使用實參進行傳值時,使用默認值作為其值

2、帶有及不帶默認值的關鍵字形參

實例中 * 以后的參數都是關鍵字形參,在使用關鍵字形參時,必須使用關鍵字實參進行傳值,不使用會報錯

不帶默認值的關鍵字形參:不帶有默認值的關鍵字形參必須使用關鍵字實參進行傳值,如果不傳參數就會報錯

帶有默認值的關鍵字形參:帶有默認值的關鍵字形參可以用關鍵字實參進行傳值,也可以不傳值,不傳值時使用默認值作為其值。

3、可變長度的形參:

可變長度位置形參:

  • 其位置在位置形參及關鍵字形參之間,當傳入的位置實參數量多于位置形參時,多出部分的位置形參會全部存儲在可變長度的位置形參中
  • 可變長度的關鍵字形參就是例子中的 * ,只是給這個形參添加了一個名字,這個名字可以自定義,但是約定俗成的命名為 *args

可變長度的關鍵字形參:

  • 可變長度的關鍵字形參位于參數列表的末尾,當傳入的關鍵字實參多與關鍵字形參時,多出的部分就會被儲存在可變長度的關鍵字形參中,以元組進行存儲
  • 可變長度的關鍵字形參使用 ** 進行表示,此時也需要給關鍵字形參添加一個名字,這個名字可以自定義,但是約定俗成的稱為 **kwargs,以字典進行存儲

形參聲明時,其聲明順序是有規定的,順序為:

無默認值位置形參 --> 有關鍵字位置形參 --> 可變長度的位置形參 --> 無默認值的關鍵字形參 --> 有默認值的關鍵字形參 --> 可變長度的關鍵字形參

常用的參數列表類型:

-- (*args,**kwargs)

-- (a,*args)
-- (a,b=10,**kwargs)
        
-- (a,*,b,**kwargs)
-- (a,*args,b,**kwargs)

在使用形參時要按照位置進行傳參,即使是有關鍵字也要盡量按照位置進行傳參,這樣更加清晰

打散機制

在使用可變長形參時,當傳入的值多余需要的值時會把多余的參數放進可變長位置形參 及 可變長關鍵字形參,但是如果直接傳入一個元組及字典中如何直接將其變為元組及字典呢?

此時需要使用 *** 的打散機制*單列容器 會打散單列容器

**雙列容器 會打散雙列容器

print(*(a,b,c))  --- >  (a b c)
print(**{a:1,b:2})  --- > {a:1,b:2}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4378

    瀏覽量

    64562
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86478
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    函數的幾種用法(3)#Python

    參數函數python
    未來加油dz
    發布于 :2023年08月24日 17:56:45

    函數的實參與

    函數定義中指定的,在未發生函數調用時不占內存,只有
    發表于 10-18 20:15

    函數,在使用函數時,為什么為變化?

    例如:void delay(uint z){uint x, y;for(x = z; x > 0; x--)for(y = 110; y > 0; y--);}我在調試時,觀察X和Z的變化情況,發現z和x的值相同,然后做相同的變化。為什么也會發生變化?
    發表于 08-19 14:13

    stm32庫函數查錯功能

    的STM32庫函數中,對于其提供了查錯機制。如下示例是我們常用的GPIO初始化函數,在函數的一開始就使用assert_param(x)對
    發表于 09-11 10:09

    函數為volatile類型,這個有什么意義?

    ((HAL_GetTick() - tickstart) < Delay){}}這是用STM32CubeMX生成的帶操作系統工程里面的一個函數,如何理解Delay前面的__IO,還望各路高手指導。
    發表于 11-23 16:44

    為什么28035的cla調用子函數,當超過2個的話,cla 就無法調用子函數?這是什么原因?

    本帖最后由 一只耳朵怪 于 2018-6-14 08:50 編輯 為什么28035的cla調用子函數,當超過2個的話,cla 就無法調用子函數
    發表于 06-13 08:25

    請問CC2541用IAR調試時函數和實參不一樣該怎么辦?

    IAR 9.30.1調試CC2541的BLE工程時出現函數調用和實參不一致的問題。
    發表于 11-11 10:42

    C語言總結_數組與函數練習題

    字符串標準處理函數介紹(string.h)、指針和數組當做函數,指針定義、函數返回指針、void類型定義指針、類型強制轉換、常量聲明、e
    的頭像 發表于 08-14 09:36 ?1073次閱讀

    C語言-函數的可變形(不定形)

    這篇文章介紹C語言函數的不定參數、可變參數 ,實現printf一樣的傳效果。
    的頭像 發表于 08-14 09:58 ?3119次閱讀

    C語言-指針作為函數類型

    C語言函數里最常用就是指針傳和返回地址,特別是字符串處理中,經常需要封裝各種功能函數完成數據處理。
    的頭像 發表于 08-14 10:05 ?2284次閱讀

    數組/指針的傳問題

    自定義函數的類型,要和函數調用中傳過去的實參類型相對應
    的頭像 發表于 08-17 10:37 ?1232次閱讀

    指針進階第五站:函數指針!

    定義一個函數指針,指向的函數有兩個int并且返回一個函數指針,返回的指針指向一個有一個int
    發表于 08-17 15:58 ?656次閱讀

    C語言函數參數介紹

    C語言數組元素作函數實參 數組元素可以用作函數實參,不能用作。 C語言在用數組元素作函數實參時,把實參的值傳給
    的頭像 發表于 03-10 14:30 ?2913次閱讀

    Python 函數參數分類

    文章應該對你會有不小的幫助。 接下來是正文。 1. 參數分類 函數,在定義的時候,可以有參數的,也可以沒有參數。 從函數定義的角度來看,參數可以分為兩種: 必選參數 :調用函數時必須要
    的頭像 發表于 10-21 10:45 ?1120次閱讀

    函數參數的分類有哪些

    一、函數參數的分類 函數的參數分為兩類: 及 實參
    的頭像 發表于 11-14 11:13 ?3267次閱讀
    主站蜘蛛池模板: 天天玩天天干 | 人人添| 可以直接看的黄址 | 久久久久琪琪免费影院 | 爱爱视频天天看 | 一区一精品 | 黄色日本视频 | 性免费视频 | 在线精品小视频 | 午夜两性网 | 日日艹 | 特黄特黄特色大片免费观看 | 天天摸天天做天天爽在线 | 欧美成人一区二区三区在线视频 | 国产成人精品午夜二三区 | 拍拍免费视频 | 激情网五月天 | 女人张腿让男桶免费视频观看 | 拍拍免费视频 | 天天综合天天添夜夜添狠狠添 | 国产精品麻豆va在线播放 | ts国产| 日本成人a视频 | 精品乩伦视频 | 五月婷婷社区 | 亚洲国产人久久久成人精品网站 | 午夜剧场毛片 | 五月激激 | 男人视频网 | 男人的天堂一区二区视频在线观看 | 欧美性三级 | 色狠狠狠狠综合影视 | 伊人操 | hs视频在线观看 | 午夜国产精品理论片久久影院 | 免费在线视频观看 | 免费观看成人欧美1314www | 日韩毛片一级 | 亚洲综合第一区 | 国产黄色网 | 亚洲网站一区 |