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)
 
<class 'tuple'>
<class 'dict'>
(1,)
{'a': 1, 'b': 2}

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

 
 

猜你喜欢

转载自blog.csdn.net/fox64194167/article/details/80471922
今日推荐