形參設(shè)置可以為數(shù)字字符串變量、元組和字典等任意類型數(shù)據(jù),元組形參是在變量名前加*,字典形參是在變量名前加**
成都創(chuàng)新互聯(lián)公司堅(jiān)信:善待客戶,將會成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨嚒N覀儚牟缓鲇瞥踉L客戶,我們用心做好本職工作,不忘初心,方得始終。十多年網(wǎng)站建設(shè)經(jīng)驗(yàn)成都創(chuàng)新互聯(lián)公司是成都老牌網(wǎng)站營銷服務(wù)商,為您提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、H5響應(yīng)式網(wǎng)站、網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、小程序開發(fā)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。
例如: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)
函數(shù)的實(shí)參不可以是語句
函數(shù)定義
python函數(shù)定義使用def關(guān)鍵字,后面是函數(shù)名,函數(shù)名不能重復(fù)。
說明:
1.使用關(guān)鍵字def開頭;
2.參數(shù)是可選的,可傳也可不傳;
3.第一行語句可以使用文檔字符串,用于注釋函數(shù)的作用;
4.函數(shù)體,實(shí)現(xiàn)具體的功能,注意縮進(jìn);
5.return將返回一個(gè)值,可寫可不寫
1)使用def關(guān)鍵字告訴Python解釋器:在定義一個(gè)函數(shù),sum為函數(shù)名。當(dāng)python運(yùn)行到def語句時(shí),它會生成一個(gè)新的函數(shù)對象,將其賦值給函數(shù)名。
2)括號中的x,y是參數(shù),對函數(shù)的輸入。
3)函數(shù)第一行為函數(shù)文檔說明,是個(gè)字符串,一般我們在自定義函數(shù)時(shí),為了代碼的可讀性,最好增加相關(guān)說明,比如函數(shù)的作用,要傳遞的參數(shù)作用,這個(gè)說明是可選的。我們可以使用help()命令快速查看指定模塊或者函數(shù)的使用方法。
4)return x+y用于將x+y運(yùn)算結(jié)果返回,即輸出。
5)編譯器會跳過注釋。
pass空語句
當(dāng)我們編寫程序的時(shí)候,往往需要構(gòu)思,有時(shí)候我們只是搭個(gè)框架,具體的細(xì)節(jié)暫時(shí)還未構(gòu)思,則我們可以使用pass來進(jìn)行占位,表示什么都不做,我們在定義一個(gè)函數(shù),暫時(shí)還不知道該函數(shù)要實(shí)現(xiàn)什么功能的時(shí)候,可以使用pass先占一個(gè)坑。
函數(shù)調(diào)用
上面只是定義函數(shù),但是還沒有執(zhí)行里面的函數(shù)體,要想執(zhí)行函數(shù),則需要調(diào)用,python函數(shù)調(diào)用通過函數(shù)名()即可,例如要執(zhí)行上面的函數(shù),我們可以這樣來使用:
說明:
上述代碼,當(dāng)我們調(diào)用sum函數(shù)時(shí),傳遞了2個(gè)值,2賦給了x,7賦給了y,然后執(zhí)行函數(shù)體,先將2和7相加,然后通過return返回結(jié)果值。
函數(shù)的參數(shù)傳遞
在調(diào)用函數(shù)時(shí),我們往往需要進(jìn)行數(shù)據(jù)傳遞,然后通過函數(shù)內(nèi)部進(jìn)行操作處理,輸出結(jié)果。例如上面的例子,我們傳遞了2個(gè)數(shù),通過相加操作返回結(jié)果。參數(shù)就是放在函數(shù)名后面的小括號中的。
形參和實(shí)參
形參(形式參數(shù)):在定義函數(shù)時(shí)使用的參數(shù),目的是接收調(diào)用該函數(shù)傳遞的參數(shù)。
實(shí)參(實(shí)際參數(shù)):在調(diào)用時(shí)傳遞給函數(shù)的參數(shù),即傳遞給被調(diào)用函數(shù)的值。實(shí)參可以是常量,變量,表達(dá)式,函數(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)錯
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)錯誤
不定長參數(shù)又名可變參數(shù)。
不定長參數(shù)指的是可變數(shù)量的參數(shù),分兩種情況:
如果不定長參數(shù)后面,可以新增參數(shù)嗎?
我們通過例子來看,會發(fā)生什么?
運(yùn)行上面的程序,Python解釋器會報(bào)錯
原因是,形參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)錯,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中調(diào)用函數(shù)的過程中形參和實(shí)參的命名必須不一樣。變量名和函數(shù)名不能相同,否則會進(jìn)行替代因?yàn)閜ython是不聲明類型的,不該出現(xiàn)重復(fù)的名字看很多人點(diǎn)贊我就更新一波,以免誤導(dǎo):其實(shí)python也是支持相同函數(shù)名的,只是不是高級編程是幾乎用不到的,具體實(shí)現(xiàn)是靠自帶的裝飾器functools.singledispatch實(shí)現(xiàn)的單分派的設(shè)計(jì)模式。
形參 是指出現(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í)參。
網(wǎng)站題目:python函數(shù)參數(shù)實(shí)參的簡單介紹
文章分享:http://chinadenli.net/article20/dodeojo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、、做網(wǎng)站、域名注冊
聲明:本網(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)