python函数的四种参数传递方式

fun1(a,b,c) fun2(a=1,b=2,c=3) fun3(*args) fun4(**kargs)
直接将实参赋予行参,根据位置做匹配。 根据键值对的形式做实参与行参的匹配,忽略了参数的位置关系,不要求数量上的相等。 可以传入任意个参数,这些若干参数都被放到了tuple元组中赋值给行参args,参数的数量上没有了限制,但是有次序。 最为灵活,以键值对字典的形式向函数传参,含有第二种位置的灵活的同时具有第三种方式的数量上的无限制。

需要注意:

  • fun2 须在fun1之后, fun3须在fun2之后 ,fun4须在fun3之后

代码演示以及输出:

def test(x, y=5, *args, **kwargs):
    print("x=%d, y=%d, args=%s, kwargs=%s"%(x, y, args, kwargs))

test(1, 2, 3, 4, k=1, t=2, s=3)

x=1, y=2, args=(3, 4), kwargs={‘k’: 1, ‘t’: 2, ‘s’: 3}

引文:http://lazybios.com/2013/04/four-kinds-of-function-argment-pass-in-python/

猜你喜欢

转载自blog.csdn.net/weixin_42486685/article/details/83899691