有時候,需要接受任意數(shù)量的實參又碌,但預(yù)先不知道傳遞給函數(shù)的會是什么樣的信息,在這種情況下绊袋,可將函數(shù)編寫成能夠接受任意數(shù)量的鍵-值對——調(diào)用語句提供了多少就接受多少毕匀。
函數(shù)build_profile()的定義要求提供名和姓,同時允許用戶根據(jù)需要提供任意數(shù)量的名稱——值對癌别。形參**user_info中的兩個星號讓python創(chuàng)建一個名為user_info的空字典皂岔,并將收到所有名稱——值對都封裝到這個字典中。在這個函數(shù)中展姐,可以像訪問其他字典那樣訪問user_info中的名稱——值對躁垛。
在build_profile()的函數(shù)體內(nèi)剖毯,我們創(chuàng)建了一個名為pro-file的空字典,用于存儲用戶簡介教馆。在①處逊谋,我們將名和姓加入到這個字典中,因為我們總是會從用戶那里收到這兩項信息土铺。在②處胶滋,我們遍歷字典user_info中的鍵—值對,并將每個鍵—值對都加入到字典profile中舒憾。最后镀钓,我們將字典profile返回給函數(shù)調(diào)用行。
我們調(diào)用build_profile()镀迂,向它傳遞名('albert')丁溅、姓('einstein')和兩個鍵—值對(location='princeton'和field='physics'),并將返回的profile存儲在變量user_pro-file中探遵,再打印這個變量:
{'first_name': 'albert', 'last_name': 'einstein','location': 'princeton', 'field': 'physics'}
在這里窟赏,返回的字典包含用戶的名和姓,還有求學(xué)的地方和所學(xué)專業(yè)箱季。調(diào)用這個函數(shù)時涯穷,不管額外提供了多少個鍵—值對,它都能正確地處理藏雏。