1. 程式人生 > >python學習之參數傳遞

python學習之參數傳遞

pytho python 必須 python學習 鍵值對 鍵值 字典元素 none class

^參數傳遞分為定義(形參)和調用(實參)兩種情況。^

1. 定義(形參)

  • 默認參數
def func(x, y=None):

# 任何時候必須  優先定義   位置參數
# 默認參數和可變參數*args  順序無要求
# 任何時候必須  最後定義   可變參數**kwargs
  • 可變參數之tuple
def func(a, x=None, *y):

# x為默認參數;
# y為元組,可以為空,可以有1到多個元素,函數將依次讀取y的元素,然後再函數裏組成一個元組。
func(1)          # 1, None, ()
func(1,())       # 1, (),   ()
func(1,2,3,8)      # 1, 2,  (3,8)
  • 可變參數之dict
def func(x, y=0, **z):

# x為位置參數
# y為字典,可以為空,可以有1到多個字典元素,函數依次讀取每個鍵值對,並傳入在函數裏組成一個字典。
func(1)          # 1, 0, {}
func(1, y=2, w=3)   # 1, 0, {‘y‘: 2, ‘w‘: 3}

2. 調用(實參)

def func(a,b,c):

tuple = (1, 2, 3)
func(*tuple)       # 1,2,3
# *tuple 將tuple拆分為三個元素,一次傳遞給函數的位置參數a,b,c
def func(a,b,c):

dict = {‘a‘: 1, ‘b‘: 2, ‘c‘: 3}
func(**dict)       # 1,2,3
# **dict將dict每個值按照鍵值對的關系傳遞給函數的對應參數
# 因此key必須和位置參數(默認參數可省略)一一對應,不多不少才能成功

python學習之參數傳遞