func(*args, **kwargs) 为什么带星号
时间: 2023-08-18 14:09:45 浏览: 113
【Python笔记】之Python函数中参数前带*是什么意思
在 Python 中,星号(*)和双星号(**)在函数定义中分别用于表示可变长参数列表和可变长关键字参数列表。
在函数定义时,*args 表示可变长参数列表,可以接收任意数量的非关键字参数,这些参数将被打包成一个元组传递给函数。**kwargs 表示可变长关键字参数列表,可以接收任意数量的关键字参数,这些参数将被打包成一个字典传递给函数。
因此,当函数定义中出现 func(*args, **kwargs) 这样的形式时,表示该函数接收任意数量的非关键字参数和关键字参数。在函数调用时,可以向这些参数传递任意数量的值,这些值将被打包成一个元组和一个字典分别传递给函数。
阅读全文