python--动态参数、关键字参数

 前言:

  # 函数参数中存在两种特殊的参数,动态参数 *args、关键字参数 **kwargs。

  # 在一个函数里面只能有一个动态参数、关键字参数,可以同时存在形参、默认参数、动态参数、关键字参数

  # 动态参数 *args、关键字参数 **kwargs 常用做不定长的输入。


动态参数示例代码:
# 动态参数 *args
def a_1(*args):
    print(args)

if __name__ == '__main__':
    a_1(1,2,3,4,5)

    v = (1,2,3,4,5)
    a_1(v)    # >>>((1,2,3,4,5),)    元祖内只有一个元素时,元素后必定是接了一个逗号
    a_1(*v)    # >>>(1,2,3,4,5)    使用 * 且只能去一层()或者[]

    v_1 = [(1,2,3,4,5),(6,7,8)]
    a_1(*v_1)    # >>>((1,2,3,4,5),(6,7,8))

    # 列表内嵌套列表(常用)
    v_2 = [[1,2,3,4,5],[6,7,8]]
    a_1(*v_2)    # >>>([1,2,3,4,5],[6,7,8])

    v_3 = {'a':'1', 'b':'2'}
    a_1(*v_3)    # >>>(a, b)
# 列表内嵌套字典(常用) v_4 = [{'a':'1', 'b':'2'}, {'c':'3', 'd':'4'}] a_1(*v_4) # >>>({'a':'1', 'b':'2'}, {'c':'3', 'd':'4'})

关键字参数示例代码:

  关键字参数传参必须是以键值对的方式传参  x=value

# 关键字参数 *kwargs
def a_2(**kwargs):
    print(kwargs)

if __name__ == '__main__':
   v
= {'a':'1', 'b':'2'} # a_2(v) # >>>语法错误 a_2(x=v) # >>>{"x": "{'a':'1', 'b':'2'}"} a_2(**v) # {'a':'1', 'b':'2'}(常用)
原文地址:https://www.cnblogs.com/xiaohuboke/p/13574116.html