Python为什么伟大?可变参数 及 函数参数解包!!

好吧,这也许有点标题党。不过 Python 的函数参数解包功能确实很方便,看下面的示例。

def myfunc(x, y, z):
    print(x, y, z)

tuple_vec = (1, 0, 1)
dict_vec = {'x': 1, 'y': 0, 'z': 1}

>>> myfunc(*tuple_vec)
1, 0, 1

>>> myfunc(**dict_vec)
1, 0, 1

其中[kbd]*参数名[/kbd] 表示解包一个元组,[kbd]** 参数名[/kbd] 表示解包一个字典。

函数参数解包可以有效的解决一个问题,那就是可变参数问题。

一般情况下,定义一个函数时需要定义参数的名称及个数,但对于有些情况下,参数的个数可能有多个,且不确定有多少。这时就可以采用可变参数方法。更多关于可变参数的说明,可参考 暮色之雲 的这篇文章 http://www.cnblogs.com/gongyu2018/p/8805183.html