定義可變參數(shù)在python
提問(wèn)人:楊紫紅發(fā)布時(shí)間:2020-11-26
如果想讓一個(gè)函數(shù)能接受任意個(gè)參數(shù),我們就可以定義一個(gè)可變參數(shù):
def fn(*args):
print args
可變參數(shù)的名字前面有個(gè) * 號(hào),我們可以傳入0個(gè)、1個(gè)或多個(gè)參數(shù)給可變參數(shù):
>>> fn()
()
>>> fn('a')
('a',)
>>> fn('a', 'b')
('a', 'b')
>>> fn('a', 'b', 'c')
('a', 'b', 'c')
可變參數(shù)也不是很神秘,Python解釋器會(huì)把傳入的一組參數(shù)組裝成一個(gè)tuple傳遞給可變參數(shù),因此,在函數(shù)內(nèi)部,直接把變量 args 看成一個(gè) tuple 就好了。
定義可變參數(shù)的目的也是為了簡(jiǎn)化調(diào)用。假設(shè)我們要計(jì)算任意個(gè)數(shù)的平均值,就可以定義一個(gè)可變參數(shù):
def average(*args):
...
這樣,在調(diào)用的時(shí)候,可以這樣寫:
>>> average()
0
>>> average(1, 2)
1.5
>>> average(1, 2, 2, 3, 4)
2.4
def fn(*args):
print args
可變參數(shù)的名字前面有個(gè) * 號(hào),我們可以傳入0個(gè)、1個(gè)或多個(gè)參數(shù)給可變參數(shù):
>>> fn()
()
>>> fn('a')
('a',)
>>> fn('a', 'b')
('a', 'b')
>>> fn('a', 'b', 'c')
('a', 'b', 'c')
可變參數(shù)也不是很神秘,Python解釋器會(huì)把傳入的一組參數(shù)組裝成一個(gè)tuple傳遞給可變參數(shù),因此,在函數(shù)內(nèi)部,直接把變量 args 看成一個(gè) tuple 就好了。
定義可變參數(shù)的目的也是為了簡(jiǎn)化調(diào)用。假設(shè)我們要計(jì)算任意個(gè)數(shù)的平均值,就可以定義一個(gè)可變參數(shù):
def average(*args):
...
這樣,在調(diào)用的時(shí)候,可以這樣寫:
>>> average()
0
>>> average(1, 2)
1.5
>>> average(1, 2, 2, 3, 4)
2.4
繼續(xù)查找其他問(wèn)題的答案?
相關(guān)視頻回答
點(diǎn)擊加載更多評(píng)論>>