本博文源於python基礎,旨在對收集參數與序列解包進行學習與練習
參數傳遞
參數傳遞時,定義的函數如果既有無默認值的函數,又有默認值的函數,應當把有默認值的參數後面。這樣在調用函數時,前面的無默認值的參數就可以依次序列取得調用時所給的值。對於默認值參數,沒有依次取得時,就使用默認值,給函數調用帶來很大的便利。
可變數量參數傳遞
*參數傳遞
單“*”表示參數是個元組。比如下面的例子
例子:輸出單*參數的類型值
def change_para_num(*tp1):
print(type(tp1))
print(tp1)
change_para_num(1)
change_para_num(2,3,4)
通過這個大家會發現,單星元組接收的效果。當自定義函數時,參數中含有前面所介紹的三種類型參數,則一般來說帶星號的參數應放在最後。
**參數傳遞
使用元組來收集參數的參數時,調用時提供的參數不能爲關鍵字參數,如果要收集不定數量的關鍵字參數,就加兩顆星,類型變爲字典。
例子:輸出立方體的屬性:顏色、體積和重量
def cube(name, **nature):
all_nature = {'x': 1,
'y': 1,
'z': 1,
'color': 'white',
'weight': 1}
all_nature.update(nature)
print(name, "立方體的屬性:")
print("體積:", all_nature['x'] * all_nature['y'] * all_nature['z'])
print("顏色:", all_nature['color'])
print("重量:", all_nature['weight'])
cube('first')
cube('second',y=3,color='red')
cube('third',z=2,color='green',weight=10)
拆解序列的函數
實例加強理解
拆解元組
用單星
拆解字典
用雙星
例子:拆解元組與字典實現加數運算
def mynum(a,b):
return a+b
print('拆解元組調用:')
print(mynum(*(3,4)))
print('拆解字典調用:')
print(mynum(**({'a':3,'b':4})))