python函數(shù)的形參 Python有參函數(shù)

簡述python函數(shù)中參數(shù)的幾種形態(tài)

在調(diào)用函數(shù)時(shí),通常會傳遞參數(shù),函數(shù)內(nèi)部的代碼保持不變,針對 不同的參數(shù)處理不同的數(shù)據(jù)。

10年積累的網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有周口免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

有位置傳參、關(guān)鍵字傳參、默認(rèn)值參數(shù)、多值參數(shù)等。

1、參數(shù)傳遞

形參和實(shí)參:

形參:定義 函數(shù)時(shí)的 參數(shù)變量

實(shí)參:調(diào)用 函數(shù)時(shí),使用的參數(shù)變量

參數(shù)傳遞的過程,就是 把實(shí)參的引用 傳遞給 形參 ,使用實(shí)參的值來執(zhí)行函數(shù)體的過程。

在 Python 中,函數(shù)的 實(shí)參/返回值 都是是靠 引用 來傳遞來的

2、位置實(shí)參

按照參數(shù)位置,依次傳遞參數(shù),這是最普通的方式。

?

Python參數(shù)類型

上一期我們學(xué)習(xí)參數(shù)傳遞怎么傳遞,也了解了參數(shù)的幾種類型。

首先,我們再來回顧一下,形參和實(shí)參:

形參是在定義函數(shù)時(shí)定義的,放在函數(shù)名后面的圓括號里,可為空

實(shí)參是調(diào)用函數(shù)時(shí)為形參傳入具體的參數(shù)值

簡單總結(jié)一下,誰調(diào)用函數(shù),誰就負(fù)責(zé)傳入?yún)?shù)。

好吶,本期我們來詳細(xì)學(xué)習(xí)函數(shù)幾種參數(shù)類型,大綱如下:

python函數(shù)的參數(shù)名是無意義的,Python允許在調(diào)用函數(shù)時(shí)通過通過名字來傳入?yún)?shù)值。

位置參數(shù):按照形參位置傳入的參數(shù)

調(diào)用函數(shù)時(shí),實(shí)參默認(rèn)按位置順序傳遞的。同時(shí)實(shí)參個(gè)數(shù)也要和形參匹配

舉一個(gè)小栗子

如果實(shí)參的個(gè)數(shù)與形參不匹配時(shí),調(diào)用函數(shù)運(yùn)行就會報(bào)錯(cuò)

Python中,形參與調(diào)用函數(shù)緊密聯(lián)系在一起的。

關(guān)鍵字參數(shù):調(diào)用函數(shù)時(shí),使形參名稱來傳遞參數(shù),形式為“形參名=實(shí)參”

關(guān)鍵字參數(shù),又叫命名參數(shù),傳遞時(shí)無需考慮參數(shù)位置和順序

舉一個(gè)小栗子

默認(rèn)參數(shù):定義函數(shù)時(shí),我們可以為形參提前設(shè)置具體的值。

在定義函數(shù)時(shí),默認(rèn)參數(shù)要放到位置等其他參數(shù)后面

在調(diào)用函數(shù)時(shí),默認(rèn)參數(shù)是可選的。如果傳入新值,則會覆蓋默認(rèn)值

舉一個(gè)小栗子

注意,默認(rèn)值不能位于位置參數(shù)前面,否則程序會報(bào)錯(cuò)誤

不定長參數(shù)又名可變參數(shù)。

不定長參數(shù)指的是可變數(shù)量的參數(shù),分兩種情況:

如果不定長參數(shù)后面,可以新增參數(shù)嗎?

我們通過例子來看,會發(fā)生什么?

運(yùn)行上面的程序,Python解釋器會報(bào)錯(cuò)

原因是,形參a已經(jīng)是不定長參數(shù),我們調(diào)用的test(2,3,4)傳入的三個(gè)實(shí)參,系統(tǒng)自動把它們屬于形參a的值,形參b 和形參c就等于沒有值傳入,這時(shí)候系統(tǒng)就認(rèn)為,調(diào)用函數(shù)的對象,參數(shù)沒有傳夠。

為了解決這一報(bào)錯(cuò),python引入了 強(qiáng)制命名參數(shù)

規(guī)定,調(diào)用不定參數(shù)后面有跟位置參數(shù)的函數(shù)時(shí),傳入給位置參數(shù)時(shí),必須要強(qiáng)制命名參進(jìn)行傳參。

逆向參數(shù)收集針對的對象傳入函數(shù)的實(shí)參

調(diào)用函數(shù)時(shí),如果實(shí)參是元組,列表或者字典,通過在實(shí)參前面加入星號,可以自動把元素進(jìn)行隔開,然后再轉(zhuǎn)入給函數(shù)進(jìn)行處理

舉一個(gè)小栗子

本期,我們詳細(xì)學(xué)習(xí)了參數(shù)幾種類型,為后面我們學(xué)習(xí)函數(shù),打好基礎(chǔ)。

實(shí)踐是檢驗(yàn)真理的過程,大家多動手練習(xí)練習(xí),會有不一樣的奇妙旅程~

好吶,以上是本期內(nèi)容,歡迎大佬們評論區(qū)指正~

python形參和實(shí)參之間有什么區(qū)別?

形參 是指出現(xiàn)在函數(shù)定義中的名稱,而 實(shí)參 則是在調(diào)用函數(shù)時(shí)實(shí)際傳入的值。 形參定義了一個(gè)函數(shù)能接受何種類型的實(shí)參。 例如,對于以下函數(shù)定義:

def func(foo, bar=None, **kwargs):

pass

foo, bar 和 kwargs 是 func 的形參。 但是,在調(diào)用 func 時(shí),例如:

func(42, bar=314, extra=somevar)

實(shí)際的值 42, 314 和 somevar 則是實(shí)參。

python實(shí)參和形參的區(qū)別

形參設(shè)置可以為數(shù)字字符串變量、元組和字典等任意類型數(shù)據(jù),元組形參是在變量名前加*,字典形參是在變量名前加**

例如:fun(var),fun(*tuple),fun(*list),fun(**dict)

實(shí)參接受也可以是任意類型數(shù)據(jù),當(dāng)接收數(shù)據(jù)為元組列表或者字典時(shí),同樣是在數(shù)據(jù)變量前加*和**

例如:fun(x),fun(*seq),fun(*list),fun(**stu_info)

可以使用元組形參和字典形參接收冗余或意外數(shù)據(jù)

例如:fun(var,*t_args,**dic_args)

但傳參時(shí),數(shù)字和字符串形參必須傳值,元組和字典形參可不傳,原因?yàn)樵M和字典數(shù)據(jù)可以是空元組或空字典,此特性正好適應(yīng)處理冗余數(shù)據(jù)

形參參數(shù)名若和生產(chǎn)數(shù)據(jù)中字典鍵名相同加大大提高編程效率和生產(chǎn)效率

例如:有字典dic={'name':'csdn','age':10,'top':1} ,有函數(shù)fun(name='name',age=0,top=0),則函數(shù)可以方便的獲取字典數(shù)據(jù)fun(**dic)

網(wǎng)站欄目:python函數(shù)的形參 Python有參函數(shù)
本文來源:http://www.muchs.cn/article30/hjespo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、電子商務(wù)靜態(tài)網(wǎng)站、定制開發(fā)、品牌網(wǎng)站設(shè)計(jì)App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名