Python中的args和kwargs
  fxDGrcws1VDH 2023年11月02日 91 0

在Python的使用中,我们经常会遇到这样的函数定义:

def my_func(x, y, *args, **kwargs):
    for arg in args:
        print(arg)
    for key, value in kwargs.items():
        print(f"{key}: {value}")

你是否好奇,这里的argskwargs分别是什么含义呢?

args顾名思义,是arguments的简写,那也很容易想到kwargskeyword 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
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Fnpj8K6xSCR   2024年05月17日   104   0   0 Python
  xKQN3Agd2ZMK   2024年05月17日   72   0   0 Python
  fwjWaDlWXE4h   2024年05月17日   38   0   0 Python
  YpHJ7ITmccOD   2024年05月17日   39   0   0 Python
fxDGrcws1VDH