*args, **kwargs的含义和区别

*args**kwargs 是 Python 中用于处理函数参数的特殊语法。

1. *args

  • *args 用于传递任意数量的位置参数(Positional Arguments)给一个函数。
  • 当函数定义中有 *args,它表示函数可以接受任意数量的位置参数。这些参数将被收集到一个元组中,并传递给函数。
  • 示例:
def example_function(*args):
    for arg in args:
        print(arg)

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

2. **kwargs

  • **kwargs 用于传递任意数量的关键字参数(Keyword Arguments)给一个函数。
  • 当函数定义中有 **kwargs,它表示函数可以接受任意数量的关键字参数。这些参数将被收集到一个字典中,并传递给函数。
  • 示例:
def example_function(**kwargs):
    for key, value in kwargs.items():
        print(key, value)

example_function(a=1, b=2, c=3)
# 输出:

a 1
b 2
c 3

3. 结合使用:

  • 可以同时在函数定义中使用 *args**kwargs,以接受任意数量的位置参数和关键字参数。
  • 示例:
def example_function(*args, **kwargs):
    for arg in args:
        print(arg)
    for key, value in kwargs.items():
        print(key, value)

example_function(1, 2, 3, a=4, b=5)
# 输出

1
2
3
a 4
b 5

 

posted @ 2024-02-04 14:08  AlphaGeek  阅读(33)  评论(0)    收藏  举报