📜  Python中的*args 和 **kwargs(1)

📅  最后修改于: 2023-12-03 15:34:24.743000             🧑  作者: Mango

Python中的*args 和 **kwargs

在Python中,*args 和 **kwargs是常用的函数参数。它们允许函数接收可变数量的参数,这在很多情况下非常有用。

*args

使用*args,你可以向函数传递任意数量的位置参数。位置参数是指那些没有指定参数名的参数。

def my_function(*args):
    for i in args:
        print(i)
        
my_function(1, 2, 3, 4) 

输出结果:

1
2
3
4

在这个例子中,我们定义了一个函数my_function,它使用*args表示接受任意数量的位置参数。在函数中,我们通过for循环遍历args并输出结果。

**kwargs

**kwargs用于传递一个可变数量的关键字参数,它使得函数能够接收任意数量的关键字参数。

def my_function(**kwargs):
    for key, value in kwargs.items():
        print(key, value)
        
my_function(name='John', age=25, city='New York')

输出结果:

name John
age 25
city New York

在这个例子中,我们定义了一个函数my_function,它使用**kwargs表示接受任意数量的关键字参数。在函数中,我们使用items()方法遍历kwargs,并输出每个参数的键和值。

*args和**kwargs的结合使用

*args和**kwargs可以同时使用,而且可以按照任意顺序。

def my_function(*args, **kwargs):
    for i in args:
        print(i)
    for key, value in kwargs.items():
        print(key, value)
        
my_function(1, 2, 3, name='John', age=25, city='New York')

输出结果:

1
2
3
name John
age 25
city New York
总结
  • *args用于接收任意数量的位置参数。
  • **kwargs用于接收任意数量的关键字参数。
  • *args和**kwargs可以同时使用,它们可以按照任意顺序在同一个函数的参数列表中使用。