Python 函数多值参数(可变参数),*args,**kwargs。元组、字典的拆包

* 和 ** 用于形参表示接收不定长参数,用于实参表示拆包。

 

demo.py(函数多值参数,可变参数):


# 多值参数(可变参数)第一种方式  推荐
# *表示元组,**表示字典。 **字典参数放在*元组参数后面,且放在参数列表最后
def demo(num, *nums, **person):

    # nums是一个元组; person是一个字典
    print(num)      # 1
    print(nums)     # (2, 3, 4, 5)
    print(person)   # {'name': '小明', 'age': 18}


demo(1, 2, 3, 4, 5, name="小明", age=18)



# 多值参数(可变参数)第二种方式  不推荐
# 定义函数时,参数不使用*
def demo2(nums):
    print(nums)

demo2((1,2,3,4,5))  # 调用函数时使用()表示元组。 调用不方便,不推荐

demo.py(元组、字典的拆包):

def demo(*args, **kwargs):

    print(args)
    print(kwargs)


# 元组变量/字典变量
gl_nums = (1, 2, 3)
gl_dict = {"name": "小明", "age": 18}

# demo(gl_nums, gl_dict)  # 会把gl_nums和gl_dict当做元组的两个元素传递给args

# 拆包语法,简化元组变量/字典变量的传递
demo(*gl_nums, **gl_dict)
# 拆包语法等同于下面的代码
demo(1, 2, 3, name="小明", age=18)

 

 

展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值