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. 使用不定参数可以避免在定义函数的时候写多个形参

发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

python 正则匹配替换,在匹配的字符后方添加新的字符知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。