站長在線Python精講:在Python函數(shù)中的可變參數(shù)詳解
導讀:歡迎你來到站長在線的站長學堂學習Python知識,本文學習的是《在Python函數(shù)中的可變參數(shù)》。本文的主要內(nèi)容有:可變參數(shù)的定義、帶一個星號*的可變參數(shù)和帶兩個星號**的可變參數(shù)。
永久美國免備案虛擬主機1元1天,15元1月,100元1年,1000元永久
站長在線旗下答案網(wǎng)站,全站所有題目,免費查看答案和答案解析
歡迎你來到站長在線的站長學堂學習python知識,本文學習的是《在Python函數(shù)中的可變參數(shù)》。本文的主要內(nèi)容有:可變參數(shù)的定義、帶一個星號*的可變參數(shù)和帶兩個星號**的可變參數(shù)。
我們在上一節(jié)內(nèi)容《在Python函數(shù)中的默認參數(shù)詳解》中,提到了默認參數(shù)不能設置可變對象。這一節(jié)內(nèi)容,我們就來專門講講可變參數(shù)。
1、可變參數(shù)的定義
可變參數(shù)也稱不定長參數(shù),即傳入函數(shù)中的實際參數(shù)可以是零個、一個、兩個甚至任意個。
定義可變參數(shù)時,主要有兩種形式,一種是帶一個星號的*,另一種是帶兩個星號的**。下面分別進行介紹。
2、帶一個星號*的可變參數(shù)
一個星號:函數(shù)可以接收任意個數(shù)的參數(shù),只需要在形參前面加一個*(星號),一個星號形參的函數(shù)會把多個位置參數(shù)值當成元祖的形式傳入,也就是傳入的多個參數(shù)值可以在函數(shù)內(nèi)部進行元祖遍歷。
例如,定義一個函數(shù),讓其可以接收多個實際參數(shù),代碼如下:
def kecheng(*jianzhan): # 定義輸出建站課程的函數(shù)
"打印任何傳入的參數(shù)"
print ("\n要學習的建站課程有: ")
for item in jianzhan:
print (item) # 輸出建站課程的內(nèi)容
# 調(diào)用kecheng 函數(shù)3次,分別指定不同多個實際參數(shù)
kecheng('html','css','javascript')
kecheng('PHP','mysql')
kecheng('thinkphp')
運行上面的代碼如下:
要學習的建站課程有:
HTML
CSS
javaScript
要學習的建站課程有:
PHP
MySQL
要學習的建站課程有:
ThinkPHP
>>>
如果使用,一個已經(jīng)存在的列表作為函數(shù)的可變參數(shù),可以在列表的名稱前加“*”。例如下面的代碼:
def kecheng(*jianzhan): # 定義輸出建站課程的函數(shù)
"打印任何傳入的參數(shù)"
print ("要學習的建站課程有: ")
for item in jianzhan:
print (item) # 輸出建站課程的內(nèi)容
jianzhan = ['HTML','CSS','JavaScript'] # 定義一個列表
kecheng(*jianzhan) # 通過列表指定函數(shù)的可變參數(shù)
運行結(jié)果如下:
要學習的建站課程有:
HTML
CSS
JavaScript
>>>
3、帶兩個星號**的可變參數(shù)
兩個星號:形參前面加兩個*(星號),注意是兩個星號哦,兩個星號形參的函數(shù)會把關(guān)鍵字參數(shù)值當成字典的形式傳入,在函數(shù)內(nèi)部會把關(guān)鍵字參數(shù)當成字典在函數(shù)內(nèi)部進行遍歷。
例如,定義一個函數(shù),讓其可以接收任意多個顯式賦值的實際參數(shù),代碼如下:
def chengji(**chengji): # 定義輸出課程和成績的函數(shù)
print () # 輸出一個空行
for key ,value in chengji.items(): # 遍歷字典
print(key,"的成績是:",value) # 輸出組合后的信息
調(diào)用兩次chengji()函數(shù),代碼如下:
def chengji(**chengji): # 定義輸出課程和成績的函數(shù)
print () # 輸出一個空行
for key ,value in chengji.items(): # 遍歷字典
print(key,"的成績是:",value) # 輸出組合后的信息
chengji(語文=92,數(shù)學=98,英語=90)
chengji(歷史=88,地理=90)
運行結(jié)果如下:
語文 的成績是: 92
數(shù)學 的成績是: 98
英語 的成績是: 90
歷史 的成績是: 88
地理 的成績是: 90
>>>
同理,如果想要使用一個已經(jīng)存在的字典作為函數(shù)的可變參數(shù),可以在字典的名稱前加“**”。例如下面的代碼:
def chengji(**chengji): # 定義輸出課程和成績的函數(shù)
print () # 輸出一個空行
for key ,value in chengji.items(): # 遍歷字典
print(key,"的成績是:",value) # 輸出組合后的信息
dict1 = {'語文':92,'數(shù)學':98,'英語':90} # 定義一個字典
chengji(**dict1) # 通過字典指定函數(shù)的可變參數(shù)
上述代碼調(diào)用了chengji()函數(shù)后,運行結(jié)果如下:
語文 的成績是: 92
數(shù)學 的成績是: 98
英語 的成績是: 90
>>>
到此為止,站長在線為你講解的在Python函數(shù)中的可變參數(shù)中的3個知識點:可變參數(shù)的定義、帶一個星號*的可變參數(shù)和帶兩個星號**的可變參數(shù)就講解完畢了,有問題,可以給我留言哦!
關(guān)注站長在線,學習Python不迷路!歡迎你對站長在線進行關(guān)注,評論,點贊,分享、轉(zhuǎn)發(fā)!
本文地址:http://003188.cn/pythonkebiancanshu.html
阿里云虛擬主機1G空間,120元一年
香港、美國虛擬主機100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡