*args和**kwargs

*args 和 **kwargs

*args和**kwargs主要⽤于函数定义。你可以将不定数量的参数传递给⼀个函数。这⾥的不定的意思是:预先并不知道,函数使⽤者会传递多少个参数给你,所以在这个场景下使⽤这两个关键字。

*args用法

​ *args是⽤来发送⼀个⾮键值对的可变数量的参数列表(元组)给⼀个函 数.

def test_var_args(f_arg,*argv):
    print("first normal    arg:", f_arg)
    for arg in argv:
        print("another arg through *argv:",arg)
test_var_args('yasoob','python','eggs','test')
first normal arg: yasoob
another	arg	through	*argv: python
another	arg	through	*argv: eggs
another	arg	through	*argv: test

**kwargs用法

kwargs允许你将不定长度的键值对,作为参数传递给⼀个函数。如果你想要在⼀个函 数⾥处理带名字的参数,你应该使⽤**kwargs。

def greet_me(**kwargs):
    for	key,value in kwargs.items():
        print("{0}=={1}".format(key,value))
greet_me(name="yasoob")
name==yasoob

三种参数情况

如果你想在函数⾥同时使⽤所有这三种参数, 顺序是这样的:

some_func(fargs,*args,**kwargs)
posted @ 2023-03-09 21:08  饮一杯天上水  阅读(23)  评论(0)    收藏  举报