在Python中如何傳遞任意數(shù)量的實參的示例代碼
1 用法
在定義函數(shù)時,加上這樣一個形參 "*形參名",就可以傳遞任意數(shù)量的實參啦:
def make_tags(* tags): '''為書本打標簽''' print('標簽:'+str(tags)) make_tags('藝術(shù)','藝術(shù)史')
運行結(jié)果:標簽:('藝術(shù)', '藝術(shù)史')
形參名 *tags 中的星號會讓 Python 創(chuàng)建一個名為 tags 的空元組, 并將函數(shù)所收到的所有值都封裝在這個元組中 。
注意:即便函數(shù)只收到一個值,也會被放入元組中。
2 聯(lián)合位置實參與任意數(shù)量實參
如果要讓函數(shù)接受多種類型的實參, 那就必須在函數(shù)定義中將接收任意數(shù)量實參的形參定義放在最后 。因為 Python 會先匹配位置實參和關(guān)鍵字實參, 然后再將多余的實參放入最后一個形參元組中 。
def make_tags(book_name, *tags): '''為某本書打標簽''' print('book_name=' + book_name) print('tags=' + str(tags)) make_tags('世界美術(shù)名作二十講 : 插圖珍藏本','藝術(shù)') make_tags('世界美術(shù)名作二十講 : 插圖珍藏本','藝術(shù)', '藝術(shù)史')
運行結(jié)果:
book_name=世界美術(shù)名作二十講 : 插圖珍藏本
tags=('藝術(shù)',)
book_name=世界美術(shù)名作二十講 : 插圖珍藏本
tags=('藝術(shù)', '藝術(shù)史')
3 任意數(shù)量關(guān)鍵字實參
有時候,預先并不清楚傳遞給函數(shù)的會是什么樣的參數(shù)。 這時, 我們就可以將函數(shù)編寫成能夠接受任意數(shù)量的鍵—值對。
def create_account(name, pwd, **others): '''創(chuàng)建賬戶''' account = {} account['name'] = name account['pwd'] = pwd for key, value in others.items(): account[key] = value return account account = create_account('早安', '1', sex='女', age='20') print('account=' + str(account))
運行結(jié)果:
account={'name': '早安', 'pwd': '1', 'sex': '女', 'age': '20'}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python lambda表達式在sort函數(shù)中的使用詳解
這篇文章主要介紹了python lambda表達式在sort函數(shù)中的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08PyTorch中view()與?reshape()的區(qū)別詳析
這篇文章主要給大家介紹了關(guān)于PyTorch中view()?與?reshape()?區(qū)別的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-01-01Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)同時對數(shù)據(jù)做轉(zhuǎn)換和換算處理操作示例
這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)同時對數(shù)據(jù)做轉(zhuǎn)換和換算處理操作,涉及Python使用生成器表達式進行數(shù)據(jù)處理的相關(guān)操作技巧,需要的朋友可以參考下2018-03-03讓Python腳本暫停執(zhí)行的幾種方法(小結(jié))
這篇文章主要介紹了讓Python腳本暫停執(zhí)行的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07