python *args **kwargs

一、简述

1、*args和**kwargs 这两个是python中方法的可变参数。

2、*args表示任何多个无名参数,它是一个tuple;

3、**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前,像foo(a=1, b='2', c=3, a', 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。

4、当方法的参数不确定时,可以使用*args 和**kwargs

 

def func(*args, **kwargs):
    print(type(args))
    print(type(kwargs))
    print(args)
    print(kwargs)


func(1, a = 1, b = 2)
 


(1,)
{'a': 1, 'b': 2}

http://www.waitingfy.com/archives/3761

 
 

你可能感兴趣的:(python)