


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
總結(jié)Python函數(shù)參數(shù)的六種類型?錄?、函數(shù)的單參數(shù)傳遞?、多參數(shù)傳遞三、關(guān)鍵字參數(shù)四、缺省參數(shù)五、不定長參數(shù)-元組六、不定長參數(shù)-字典前?:Python函數(shù)之所以很好?,還有?點就的能傳遞參數(shù)實現(xiàn)不同場景的靈活使?,對于函數(shù)參數(shù)的類型?編總結(jié)了6種不同的形式。下?來??學習下。?先來?個問題:使??個函數(shù)來打印3*2,3*3,3*4的結(jié)果。正常情況下?家可能直接封裝?個函數(shù),在函數(shù)體內(nèi)來完成這三個數(shù)的乘法,如下:defp_num():print(3*2)print(3*3)print(3*4)p_num()返回結(jié)果:6912上?的結(jié)果實現(xiàn)了題?要求,這時候如果再來?個問題:??個函數(shù)輸出5*2,5*3,5*4的結(jié)果。這時候你就會發(fā)現(xiàn),你必須再封裝?個函數(shù)來實現(xiàn)這樣的效果,但是很多同學會發(fā)現(xiàn),這個效果和我們上?的效果很相似。有的同學就會想到,第?題函數(shù)中的3我們可不可以??個變量來代替,恭喜你,python也是這樣想的,所以就引?參數(shù)這個概念,我們來看看python是怎么實現(xiàn)的吧。?、函數(shù)的單參數(shù)傳遞defp_num(n設置?):個形參n#print(n*2)print(n*3)print(n*4)p_num(5)傳遞實參#為5上?函數(shù)中的n就是形參,你也可以把它理解為?個變量名,調(diào)?函數(shù)的時候?括號中要傳?實參,你可以把他理解為給上?形參(變量)賦的值。這樣你給n賦什么值,那函數(shù)體內(nèi)參與運算的就是什么值,這樣?來我們就能實現(xiàn)不同的數(shù)字實現(xiàn)上?的相同的?法了,?個函數(shù)搞定。?、多參數(shù)傳遞換種情況,如果我們想得到兩個數(shù)字相乘和相減的值,?且在不同的場景中這兩個數(shù)會隨時變化,那?怎么實現(xiàn)呢?估計有同學已經(jīng)想到了,只要把上?的函數(shù)中?個形參變成兩個就可以了,是的,就是這樣的。下?來演??下:deftest():print(5*3)print(5-3)test()#固1.定參數(shù)deftest(m,n):print(m*n)print(m-n)test(5,3)test(985,211)三、關(guān)鍵字參數(shù)通過?個函數(shù)把?個字符串反復輸出n次,注意這?的n代表未知次數(shù),字符串也是未知字符串,我們從這個題?就可以看出來,?定屬于?個多參數(shù)函數(shù)。那么很簡單就實現(xiàn)了,如下:deftest(num,str):print(str*num)test('',5)這時候?家可以看到輸出的結(jié)果也是正確的,但是我們本?是想把num=5str='',?函數(shù)??的參數(shù)是按照順,序穿進去的,所以雖然結(jié)果沒有問題,但是在有些場景中會出現(xiàn)不必要的錯誤,?如,我們要對字符串str進?處理后再計算,就不?了,這時候,python引?關(guān)鍵字參數(shù)來指定形參和實參的關(guān)系。deftest(num,str):print(str*num)test(str='',num=5)四、缺省參數(shù)這時候出現(xiàn)另?種場景,就是上?的字符串在?多數(shù)情況下都是,偶爾會出現(xiàn)其他字符串的情況,如果使?上?關(guān)鍵字參數(shù)的話,每次都要輸??下固定值,這樣寫起來?較?煩,所以看看缺省參數(shù)是怎么解決這個問題的。deftest(num,str=''):print(str*num)test(num=5)test(num=5,str='www')這?的缺省參數(shù)也可以說成默認值參數(shù),就是不傳遞參數(shù)的時候???的默認值,傳遞參數(shù)的時候使?傳遞進去的實參。五、不定長參數(shù)-元組如果?個函數(shù)不知道未來要接收多少個參數(shù)的時候可以使??個元組來接受不定長參數(shù),下?來直接實現(xiàn)效果:deftest(*m):這?加了?個*#號,當成元組的形式來接受參數(shù),?般寫成:*argsprint(m)注意這?#的形參不能帶*號print(type(m))test((3,5,7))test(3,5,7)注意這?兩個調(diào)?的結(jié)果都是元組,但是結(jié)果不太?樣,看看返回結(jié)果:((3,5,7),)<class'tuple'>(3,5,7)<class'tuple'>六、不定長參數(shù)-字典還有?種情況就是每個參數(shù)都???的含義,但是不是固定參數(shù),這?可以借?字典的鍵值對特性來實現(xiàn)。deftest(**m):這?加了2個*號#,當成字典的形式接受參數(shù),?般寫成:**kwargsprint(m)print(type(m))#print(**m)這?不能加*#*test(a=3,b=5,c=7)返回結(jié)果:{'a':3,'b':5,'c':7}<class'dict'>
上?兩種不定長參數(shù)可以放在?起使?,表?可以接受任意參數(shù),下?不給?家舉例的,我們看看?檔,很多內(nèi)建?法都使?這樣的寫法。defpow(*args,**kwargs):#realsignatureunknown"""Equivalenttobase**expwith2argumentsorbase**exp%modwith3argumentsSometypes,suchasints,areabletouseamoreefficientalgorithmwheninvokedusingthethreeargument
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南省衡陽縣2025屆五下數(shù)學期末聯(lián)考模擬試題含答案
- 安徽科技學院《SAS與統(tǒng)計分析》2023-2024學年第一學期期末試卷
- 日喀則地區(qū)康馬縣2025屆四年級數(shù)學第二學期期末監(jiān)測試題含解析
- 邢臺醫(yī)學高等專科學?!妒称贩治鰧嶒灐?023-2024學年第二學期期末試卷
- 北京信息科技大學《發(fā)展心理學》2023-2024學年第一學期期末試卷
- 山西藝術(shù)職業(yè)學院《建筑法規(guī)》2023-2024學年第二學期期末試卷
- 供水工程管理制度
- 智能美容檢測產(chǎn)品調(diào)查問卷
- 常用筆種類調(diào)查
- 2025年網(wǎng)絡直播投資分析:傳統(tǒng)文化與現(xiàn)代傳播的融合之道
- GB/T 18282.1-2025醫(yī)療保健產(chǎn)品滅菌化學指示物第1部分:通則
- 手衛(wèi)生醫(yī)療廢物管理培訓培訓課件
- GB/T 4238-2015耐熱鋼鋼板和鋼帶
- CCRW程序簡介匯總課件
- 中醫(yī)拔罐技術(shù)課件
- 西藏自治區(qū)山南市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 2022年菏澤市鄆城縣中醫(yī)院醫(yī)護人員招聘考試筆試題庫及答案解析
- 青樓韻語嫖經(jīng)、明代嫖經(jīng)全文-古籍
- 中小學教師職業(yè)道德規(guī)范
- 無創(chuàng)呼吸機臨床應用護士操作手冊
- 7S管理標準-目視化管理標準
評論
0/150
提交評論