欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python函數(shù)中*args和**kwargs來(lái)傳遞變長(zhǎng)參數(shù)的用法

 更新時(shí)間:2016年01月26日 16:00:04   作者:William_Sang  
這篇文章主要介紹了Python編程中使用*args和**kwargs來(lái)傳遞可變參數(shù)的用法,文中舉了變長(zhǎng)參數(shù)的例子,需要的朋友可以參考下

單星號(hào)形式(*args)用來(lái)傳遞非命名鍵可變參數(shù)列表。雙星號(hào)形式(**kwargs)用來(lái)傳遞鍵值可變參數(shù)列表。

下面的例子,傳遞了一個(gè)固定位置參數(shù)和兩個(gè)變長(zhǎng)參數(shù)。

def test_var_args(farg, *args):
  print "formal arg:", farg
  for arg in args:
    print "another arg:", arg

test_var_args(1, "two", 3)

結(jié)果如下:

formal arg: 1
another arg: two
another arg: 3

這個(gè)例子用來(lái)展示鍵值對(duì)形式的可變參數(shù)列表,一個(gè)固定參數(shù)和兩個(gè)鍵值參數(shù)。

def test_var_kwargs(farg, **kwargs):
  print "formal arg:", farg
  for key in kwargs:
    print "another keyword arg: %s: %s" % (key, kwargs[key])

test_var_kwargs(farg=1, myarg2="two", myarg3=3)

執(zhí)行結(jié)果:

formal arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3

調(diào)用函數(shù)時(shí),使用 *args and **kwargs

這種語(yǔ)法不僅僅是在函數(shù)定義的時(shí)候可以使用,調(diào)用函數(shù)的時(shí)候也可以使用

def test_var_args_call(arg1, arg2, arg3):
  print "arg1:", arg1
  print "arg2:", arg2
  print "arg3:", arg3

args = ("two", 3)
test_var_args_call(1, *args)

執(zhí)行結(jié)果如下:

arg1: 1
arg2: two
arg3: 3

鍵值對(duì)方式:

def test_var_args_call(arg1, arg2, arg3):
  print "arg1:", arg1
  print "arg2:", arg2
  print "arg3:", arg3

kwargs = {"arg3": 3, "arg2": "two"}
test_var_args_call(1, **kwargs)

結(jié)果如下:

arg1: 1
arg2: two
arg3: 3

相關(guān)文章

最新評(píng)論