非固定参数:*args和 **kwargs

先看一个固定参数栗子:

def func1(x, args):

print(x, args)

func1(1,22)

====================
1 22
====================

再看非固定参数:
def func(x, *args, **kwargs):

print(x, args, kwargs)
func('1', w='44')
====================
1 () {'w': '44'}
====================

再来一份:
def func(x, *args, **kwargs):

print(x, args, kwargs)

func('1',2,3,4,5,{})
=============================

1 (2, 3, 4, 5) {'w': '44'}
=============================
以上可知:*args以元祖形式传参,可为空
     **kwargs 以key:value形式传参,可为空


用法: 当函数要传的参数不知道有多少个时可以用上
      

      









原文地址:https://www.cnblogs.com/sunny666/p/10641134.html