python 不定参数*/**的灵活使用

def func(*args, **kwargs):
    print('{}'.format(kwargs))
    print('{}'.format(args))
    pass


if __name__ == '__main__':
    var_kw = dict(
        a=1,
        b=2
    )
    func(1, 2, a=3, b=4)
    func(*(1, 2), **var_kw)
# ---------------
{'a': 3, 'b': 4}
(1, 2)
{'a': 1, 'b': 2}
(1, 2)

说明:

从上方的例子来看,*** 的用途:

  1. 在元组前加上* 可以将元组拆分,将元组内的元素作为实参传入到函数.
  2. 在字典前加** 将字典拆分,使用关键字参数传值.
  3. 例子中的两种函数调用方式,结果都是一样的:
    func(1, 2, a=3, b=4)
    func(*(1, 2), **var_kw)
  1. 使用不定参数可以避免在定义函数的时候写多个形参
posted @ 2020-07-15 15:10  那时一个人  阅读(540)  评论(0编辑  收藏  举报