豆漿油條 发表于 2023-4-10 14:26:55

Python中的args和kwargs

在Python的使用中,我们经常会遇到这样的函数定义:
def my_func(x, y, *args, **kwargs):
    for arg in args:
      print(arg)
    for key, value in kwargs.items():
      print(f"{key}: {value}")你是否好奇,这里的args和kwargs分别是什么含义呢?
args顾名思义,是arguments的简写,那也很容易想到kwargs是keyword arguments的简写了。也就是,前者是普通参数,后者是键值对参数的含义。
*args和**kwargs是python函数定义中,两个特殊的符号,用以向函数中传递可变数量的参数,可以在事先不需要知道有多少参数,也不需要显式命名他们的情况下,向函数内部传递任意数量的参数。
*args用以向一个函数传递可变数量的非键值对参数,这些参数被打包成一个tuple,并传递到函数内部。**kwargs用以向一个函数传递可变数量的键值对参数,这些参数被打包成一个dict,并传递到函数内部。示例如下:
def my_func(*args, **kwargs):
    for arg in args:
      print(arg)
    for key, value in kwargs.items():
      print(f"{key}: {value}")

my_func(1, 2, 3, name="John", age=30, city="New York")
# Output: 1 2 3 name: John age: 30 city: New York出处:https://www.cnblogs.com/shuezhang/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
来源:https://www.cnblogs.com/shuezhang/p/17302264.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Python中的args和kwargs