日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Python初識:函數(shù)的參數(shù)

來源: 責編: 時間:2023-11-08 17:02:44 247觀看
導讀哈嘍,大家好,我是了不起。今天給大家?guī)韕ython函數(shù)的參數(shù)。一、函數(shù)參數(shù)的分類函數(shù)的參數(shù)分為兩類:形參及實參。形參:形參是在創(chuàng)建過程中聲明的參數(shù),如果不給形參傳入特定的實參,形參就沒有實際的意義 實參:實參是在函數(shù)的

哈嘍,大家好,我是了不起。今天給大家?guī)韕ython函數(shù)的參數(shù)。A0Y28資訊網(wǎng)——每日最新資訊28at.com

A0Y28資訊網(wǎng)——每日最新資訊28at.com

一、函數(shù)參數(shù)的分類

函數(shù)的參數(shù)分為兩類:形參及實參。A0Y28資訊網(wǎng)——每日最新資訊28at.com

形參:形參是在創(chuàng)建過程中聲明的參數(shù),如果不給形參傳入特定的實參,形參就沒有實際的意義 實參:實參是在函數(shù)的調(diào)用過程中傳入的參數(shù),這個參數(shù)具有實際意義,具有具體的數(shù)據(jù)類型。A0Y28資訊網(wǎng)——每日最新資訊28at.com

舉例:A0Y28資訊網(wǎng)——每日最新資訊28at.com

def fn(n1,n2):  # 在此過程中定義的參數(shù)就是形參    print(n1 + n2)fn(10,20)  # 在此過程中傳入的變量就是實參

二、形參是對實參的值拷貝

形參與實參可以重名,但是其表示的是兩個變量。A0Y28資訊網(wǎng)——每日最新資訊28at.com

舉例:A0Y28資訊網(wǎng)——每日最新資訊28at.com

def fn(num1):    print(num1)    num1 = 20    print(num1)num1 = 10fn(num1)print(num1)
  • 對于不可變類型:參考上例,當 num1 的值在函數(shù)的內(nèi)部進行重新賦值時,在外部進行重新打印,打印的是原來的值,原因是在參數(shù)內(nèi)部進行了形參的重指向,實參的值沒有發(fā)生改變。
  • 對于可變類型:參考上例,num1 變?yōu)榭勺冾愋停?num1 的值在內(nèi)部使用append()方法進行添加元素時,在函數(shù)外打印 num1 ,打印的是添加后的列表,因為沒有進行重指向,實參及形參指向的是同一個id

三、實參的分類

實參可以分為:位置實參及關(guān)鍵字實參。A0Y28資訊網(wǎng)——每日最新資訊28at.com

位置實參:根據(jù)位置進行參數(shù)的傳遞。A0Y28資訊網(wǎng)——每日最新資訊28at.com

舉例:A0Y28資訊網(wǎng)——每日最新資訊28at.com

#Python學習交流:711312441def fn(a,b,c):    print(a)    print(b)    print(c)fn(1,2,3)

像上方這樣傳入?yún)?shù)時,實參的傳入是按照參數(shù)的位置進行傳遞的,如果改變實參的位置,那么傳入?yún)?shù)時就會改變傳給形參的值,這樣傳入?yún)?shù)時的參數(shù)就叫做位置實參:A0Y28資訊網(wǎng)——每日最新資訊28at.com

 fn(a=1,b=2,c=3)

像上方函數(shù)的調(diào)用這樣,如果在調(diào)用函數(shù)時指名道姓的傳入?yún)?shù),那么不論實參的位置如何變化,形參的得到的值都不會發(fā)生變化,這種形式的實參就叫做關(guān)鍵字實參。A0Y28資訊網(wǎng)——每日最新資訊28at.com

注:A0Y28資訊網(wǎng)——每日最新資訊28at.com

  • 位置實參是一定按照位置順序進行參數(shù)的傳遞的,如果傳遞實參時,實參的順序發(fā)生變化,那么形參的到的值也會發(fā)生變化。
  • 關(guān)鍵字實參采用的是指明道姓的賦值,所以實參進行位置變化時不會改變形參接收的值
  • 在既有關(guān)鍵字實參,又有位置實參時,肯定是先進行位置參數(shù)的傳值,再進行關(guān)鍵字實參的傳值(位置參數(shù)在前,關(guān)鍵字參數(shù)在后)

四、形參的分類

形參的分類可以分為六種:A0Y28資訊網(wǎng)——每日最新資訊28at.com

  • 帶有默認值的位置形參
  • 不帶默認值的位置形參
  • 帶有默認值的關(guān)鍵字形參
  • 不帶默認值的關(guān)鍵字形參
  • 可變長度的位置形參
  • 可變長度的關(guān)鍵字形參

實例:A0Y28資訊網(wǎng)——每日最新資訊28at.com

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

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

實例中,在 * 號之前統(tǒng)稱為位置形參,位置形參可以由位置實參及關(guān)鍵字實參進行傳值。A0Y28資訊網(wǎng)——每日最新資訊28at.com

  • 不帶默認值的位置形參:不帶有默認值的位置形參必須要實參進行傳值,如果實參不傳值就會報錯
  • 帶有默認值的位置形參:帶有默認值的關(guān)鍵字位置實參可以用實參進行傳值,也可以不使用實參進行傳值,不使用實參進行傳值時,使用默認值作為其值

2.帶有及不帶默認值的關(guān)鍵字形參

實例中 * 以后的參數(shù)都是關(guān)鍵字形參,在使用關(guān)鍵字形參時,必須使用關(guān)鍵字實參進行傳值,不使用會報錯。A0Y28資訊網(wǎng)——每日最新資訊28at.com

  • 不帶默認值的關(guān)鍵字形參:不帶有默認值的關(guān)鍵字形參必須使用關(guān)鍵字實參進行傳值,如果不傳參數(shù)就會報錯
  • 帶有默認值的關(guān)鍵字形參:帶有默認值的關(guān)鍵字形參可以用關(guān)鍵字實參進行傳值,也可以不傳值,不傳值時使用默認值作為其值。

3.可變長度的形參:

可變長度位置形參:A0Y28資訊網(wǎng)——每日最新資訊28at.com

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

可變長度的關(guān)鍵字形參:A0Y28資訊網(wǎng)——每日最新資訊28at.com

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

形參聲明時,其聲明順序是有規(guī)定的,順序為:A0Y28資訊網(wǎng)——每日最新資訊28at.com

無默認值位置形參 --> 有關(guān)鍵字位置形參 --> 可變長度的位置形參 --> 無默認值的關(guān)鍵字形參 --> 有默認值的關(guān)鍵字形參 --> 可變長度的關(guān)鍵字形參A0Y28資訊網(wǎng)——每日最新資訊28at.com

常用的參數(shù)列表類型:A0Y28資訊網(wǎng)——每日最新資訊28at.com

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

在使用形參時要按照位置進行傳參,即使是有關(guān)鍵字也要盡量按照位置進行傳參,這樣更加清晰。A0Y28資訊網(wǎng)——每日最新資訊28at.com

五、打散機制

在使用可變長形參時,當傳入的值多余需要的值時會把多余的參數(shù)放進可變長位置形參 及 可變長關(guān)鍵字形參,但是如果直接傳入一個元組及字典中如何直接將其變?yōu)樵M及字典呢?A0Y28資訊網(wǎng)——每日最新資訊28at.com

此時需要使用 * 及 ** 的打散機制*單列容器 會打散單列容器。A0Y28資訊網(wǎng)——每日最新資訊28at.com

**雙列容器 會打散雙列容器:A0Y28資訊網(wǎng)——每日最新資訊28at.com

print(*(a,b,c))  --->  (a b c)print(**{a:1,b:2})  ---> {a:1,b:2}

好了,今天就介紹到這兒。A0Y28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-17777-0.htmlPython初識:函數(shù)的參數(shù)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 使用 Gorm 進行事務和錯誤處理

下一篇: 有趣的 CSS 數(shù)學函數(shù),你學會了嗎?

標簽:
  • 熱門焦點
  • K60 Pro官方停產(chǎn) 第三方瞬間漲價

    雖然沒有官方宣布,但Redmi的一些高管也已經(jīng)透露了,Redmi K60 Pro已經(jīng)停產(chǎn)且不會補貨,這一切都是為了即將到來的K60 Ultra鋪路,屬于廠家的正常操作。但有意思的是該機在停產(chǎn)之后
  • 7月安卓手機性價比榜:努比亞+紅魔兩款新機入榜

    7月登場的新機有努比亞Z50S Pro和紅魔8S Pro,除了三星之外目前唯二的兩款搭載超頻版驍龍8Gen2處理器的產(chǎn)品,而且努比亞和紅魔也一貫有著不錯的性價比,所以在本次的性價比榜單
  • 六大權(quán)益!華為8月服務日開啟:手機免費貼膜、維修免人工費

    8月5日消息,一年一度的華為開發(fā)者大會2023(Together)日前在松山湖拉開帷幕,與此同時,華為8月服務日也式開啟,到店可享六大專屬權(quán)益。華為用戶可在華為商城Ap
  • 2023 年的 Node.js 生態(tài)系統(tǒng)

    隨著技術(shù)的不斷演進和創(chuàng)新,Node.js 在 2023 年達到了一個新的高度。Node.js 擁有一個龐大的生態(tài)系統(tǒng),可以幫助開發(fā)人員更快地實現(xiàn)復雜的應用。本文就來看看 Node.js 最新的生
  • SpringBoot中使用Cache提升接口性能詳解

    環(huán)境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架從 3.1 開始,對 Spring 應用程序提供了透明式添加緩存的支持。和事務支持一樣,抽象緩存允許一致地使用各
  • 一文掌握 Golang 模糊測試(Fuzz Testing)

    模糊測試(Fuzz Testing)模糊測試(Fuzz Testing)是通過向目標系統(tǒng)提供非預期的輸入并監(jiān)視異常結(jié)果來發(fā)現(xiàn)軟件漏洞的方法。可以用來發(fā)現(xiàn)應用程序、操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議等中的漏洞或
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設(shè)計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了——貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 華為將推出盤古數(shù)字人大模型 可幫助用戶12小時完成數(shù)字人生成

    在今日舉行的2023年華為云數(shù)字文娛AI創(chuàng)新峰會上,華為云全球Marketing與銷售服務總裁石冀琳表示,華為云將在后續(xù)推出盤古數(shù)字人大模型,可幫助用戶12小
  • 三星折疊屏手機去年銷售近1000萬臺 今年目標定為1500萬

    7月29日消息,三星率先發(fā)力可折疊手機市場,在全球市場已經(jīng)取得了非常亮眼的成績,接下來會進一步鞏固和擴大這一優(yōu)勢。三星在推出Galaxy Z Flip5和Galax
Top 主站蜘蛛池模板: 南安市| 库伦旗| 项城市| 茂名市| 土默特右旗| 泽普县| 财经| 天水市| 攀枝花市| 长沙县| 德保县| 大石桥市| 和硕县| 平邑县| 仁怀市| 高雄县| 当阳市| 泸西县| 红河县| 韩城市| 黔南| 天津市| 工布江达县| 无为县| 巢湖市| 赤城县| 盐山县| 丹东市| 古丈县| 东乡县| 聊城市| 桃源县| 郎溪县| 灯塔市| 雷波县| 互助| 福建省| 天门市| 弥渡县| 宁陵县| 旅游|