python学习之路-函数
程序员文章站
2024-02-24 13:44:10
...
函数
*args位置参数不能写在**kwargs关键字参数后面
**kwargs用法
**kwargs 接受N个关键字参数,把关键字参数转化为字典。
def test(**kwargs):
print(kwargs)
test(name="age",age="22")
打印结果为:
{'age': '22', 'name': 'age'}
*args用法
*args 接受N个位置参数,把参数转化为元组形式
def test(*args):
print(args)
test(1,2,3,4,5)
打印结果为:
(1, 2, 3, 4, 5)
使用*args可以方便后续的参数的拓展
def test(x,*args):
print(x)
print(args)
test(1,2,3,4,5)
打印结果为:
1
( 2, 3, 4, 5)
组合方式:
def test(name,age=18,*args,**kwargs):
print(name)
print(age)
print(args)
print(kwargs)
test("test",age=11,sex="man",hoboy="allpe")
结果:
test
11
()
{'hoboy': 'allpe', 'sex': 'man'}
说明:
name被赋值为test,年龄参数也赋值为11,由于没有给*args赋值,因此显示一个空的元组,后面的sex=”man”,hoboy=”allpe”,被**kwargs赋值为一个字典的格式。