在python中很多api函数都会发现有这两个参数,然而在参数解释中往往又不会提到这两个参数。
args和kwargs都是可变参数,可以自行定义
例子
def args_test(param1, *args):
print(param1)
for value in args:
print(value)
def kwargs_test(param2, **kwargs):
print(param2)
for key in kwargs:
print((key, kwargs[key]))
if __name__ == "__main__":
args_test('hello word', 2020, 'a', 'hello', '#')
kwargs_test('hello word', now=2020, last=2019, next=2021)
输出
hello word
2020
a
hello
#
hello word
('now', 2020)
('last', 2019)
('next', 2021)
可见,可变参数args指的是值,传入特殊字符也可以;而kwargs需要传入的是字典。