python 参数 *args 和 **kwargs

文章目录

args 是 arguments 的缩写,表示位置参数;kwargs 是 keyword arguments 的缩写,表示关键字参数。

def test01(*args):
    print("类型:",type(args))
    print(args)

def test02(**kwargs):
    print("类型:",type(kwargs))
    print(kwargs)

if __name__ == '__main__':
    test01()
    test02()

结果:
在这里插入图片描述

def test01(a, b, *args):
    print("类型:",type(args))
    print(args)
test01(1,2,4,6)
'''
类型: <class 'tuple'>
(4, 6)
'''

上面函数中*args 的返回值是一个元组,准确的说是将传入的参数中不确定的参数以元组的形式保存下来

python中, 函数用*args来获取不确定数量参数的经典写法!

    a,b,*rest= range(5)
    print(a,b,rest)
    # 0 1 [2, 3, 4]
def test02( a, **kwargs):
    print(a)
    print("类型:",type(kwargs))
    print(kwargs)
test02(1,b=2,c=4,d=6)
'''
结果:
1
类型: <class 'dict'>
{'b': 2, 'c': 4, 'd': 6}
'''

**kwargs的返回值是一个字典,传参时必须以确定的键值对来传入,及以键值对保存下来,不按键值对参数传会报错


版权声明:本文为yg2496194392原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。