有时候我们会在python代码中看到诸如一下形式参数:
def func(*args, **kwargs):
print (args)
print (kwargs)
这是python中动态参数的表示,有时候我们要传入参数的数目不确定,这时候就需要用到动态参数。其中*代表要把传入的参数转为一个元组,而**代表要把传入额参数转为一个字典。我们来看一下例子:
def func_1(*args):
print (args)
func_1(1,2,3,4,5)
# 输出:(1, 2, 3, 4, 5)
def func_2(**kwargs):
print (kwargs)
func_2(k1=1,k2=2,k3=3)
# 输出:{'k1': 1, 'k2': 2, 'k3': 3}
个人认为这样参数设置使得编程更加灵活~
参考文献:
[1] python *与**