关于python之*args 和 **kwargs参数介绍

关于python之*args 和 **kwargs参数介绍

Python函数的参数详解https://blog.csdn.net/cnds123/article/details/123264378

在函数定义时,如果你想要接收不定数量的位置参数或关键字参数,并且希望以元组或字典的形式引用它们,就需要使用 *args 和 **kwargs 这样的语法结构。

注意*args 和 **kwargs 只是通用的约定俗成的名称,实际上你可以使用其他名称来代替它们。但 * 和 ** 是用于解构参数的语法符号,不能去掉。

*args 和 **kwargs 是用于在函数定义和函数调用中处理可变数量的参数的特殊语法。

*args 表示接受任意数量的位置参数((positional arguments)非关键字参数),这些参数将作为元组(tuple)传递给函数。函数内部可以通过遍历元组来访问这些参数。例子:

def foo(*args):
    for arg in args:
        print(arg)

foo(1, 2, 3)  # 输出:1 2 3

 **kwargs 表示接受任意数量的关键字参数(keyword arguments),这些参数将作为字典(dictionary)传递给函数。函数内部可以通过字典的键值对来访问这些参数。例子:

def bar(**kwargs):
    for key, value in kwargs.items():
        print(key, value)

bar(name='Alice', age=25, city='New York')

输出:
name Alice
age 25
city New York

 

在函数定义中,可以同时使用 *args 和 **kwargs 来接受任意数量的位置参数和关键字参数。例子:

def baz(*args, **kwargs):
    for arg in args:
        print(arg)
    for key, value in kwargs.items():
        print(key, value)

baz(1, 2, 3, name='Bob', age=30)

输出:
1
2
3
name Bob
age 30

 

猜你喜欢

转载自blog.csdn.net/cnds123/article/details/131223255
今日推荐