Python可变传参: *args和**kwargs

简介: Python可变传参: *args和**kwargs

正文


args是参数的数组,kwargs就是当你传入key=value是存储的字典。 请看例子:


def test(a,*args,**kwargs):
    print "a: ",a
    print "args: ",args
    print "kwargs: ",kwargs
test(1,2,3,d='4',e=5)

输出结果:


a: 1
args: (2, 3)
kwargs: {'e': 5, 'd': '4'}


总结: 第一个参数1还是a的值,args表示剩余的值,kwargs在args之后表示成对键值对。


注意:同时使用*args和**kwargs时,必须*args参数列要在**kwargs前,像foo(a=1, b='2', c=3, a', 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。



相关文章
|
4月前
|
Python
python方法,传参20220101 计算与当前时间差
python方法,传参20220101 计算与当前时间差
|
3月前
|
API Python
Python Tricks : Fun With args and kwargs
Python Tricks : Fun With args and kwargs
16 0
|
5月前
|
Python
python在列表、元素、字典、集合和numpy的数组前加上星号 * 是什么含义,以及*args和**kwargs的使用
python在列表、元素、字典、集合和numpy的数组前加上星号 * 是什么含义,以及*args和**kwargs的使用
53 0
|
5月前
|
SQL 分布式计算 算法
【python】python指南(十四):**操作符解包字典传参
【python】python指南(十四):**操作符解包字典传参
48 0
|
8月前
|
Python
Python-函数的传参方式docx
Python-函数的传参方式docx
57 5
|
8月前
|
存储
07-python函数的进阶-函数的多返回值/函数的多种传参方式/匿名函数/lambda函数
07-python函数的进阶-函数的多返回值/函数的多种传参方式/匿名函数/lambda函数
|
8月前
|
开发者 Python
在Python中,什么时候不应该使用`*args`和`**kwargs`?
在Python中,什么时候不应该使用`*args`和`**kwargs`?
45 1
|
8月前
|
开发者 Python
在Python中,什么时候应该使用`*args`和`**kwargs`?
在Python中,什么时候应该使用`*args`和`**kwargs`?
68 1
|
8月前
|
Python
解释Python中的`*args`和`**kwargs`的用法。
解释Python中的`*args`和`**kwargs`的用法。
48 1
|
8月前
|
JSON JavaScript 前端开发
Python之JavaScript逆向系列——1、URL——传参
Python之JavaScript逆向系列——1、URL——传参
66 0