args和kwargs的区别和使用


当我们需要定义一个函数,但是不确定会传入多少个参数时,可以使用 *args**kwargs

  1. args 的使用情况:

    • 当函数的参数数量是不确定的时候,可以使用 args 来接收任意数量的位置参数,并将它们存储在一个元组中。

    • 示例:

      def add(*args):
          total = 0
          for num in args:
              total += num
          return total
  2. *kwargs 的使用情况:

    • 当函数的参数是带有关键字的时候,可以使用 *kwargs 来接收任意数量的关键字参数,并将它们存储在一个字典中。

    • 示例:

      def print_info(**kwargs):
          for key, value in kwargs.items():
              print(f"{key}: {value}")
  3. 同时使用 args*kwargs 的情况:

    • 当函数的参数既不确定数量又带有关键字时,可以同时使用 args*kwargs

    • 示例:

      def process_data(title, *args, **kwargs):
          print(f"=== {title} ===")
          for item in args:
              print(item)
          for key, value in kwargs.items():
              print(f"{key}: {value}")

综上所述,*args 用于处理不确定数量的位置参数,而 **kwargs 用于处理不确定数量的关键字参数。当两者一起使用时,可以应对各种不确定数量和属性的参数情况。


文章作者: LuffyKing
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuffyKing !
  目录