翼度科技»论坛 编程开发 python 查看内容

Python中的args和kwargs

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
在Python的使用中,我们经常会遇到这样的函数定义:
  1. def my_func(x, y, *args, **kwargs):
  2.     for arg in args:
  3.         print(arg)
  4.     for key, value in kwargs.items():
  5.         print(f"{key}: {value}")
复制代码
你是否好奇,这里的args和kwargs分别是什么含义呢?
args顾名思义,是arguments的简写,那也很容易想到kwargs是keyword arguments的简写了。也就是,前者是普通参数,后者是键值对参数的含义。
*args和**kwargs是python函数定义中,两个特殊的符号,用以向函数中传递可变数量的参数,可以在事先不需要知道有多少参数,也不需要显式命名他们的情况下,向函数内部传递任意数量的参数。
*args用以向一个函数传递可变数量的非键值对参数,这些参数被打包成一个tuple,并传递到函数内部。**kwargs用以向一个函数传递可变数量的键值对参数,这些参数被打包成一个dict,并传递到函数内部。示例如下:
  1. def my_func(*args, **kwargs):
  2.     for arg in args:
  3.         print(arg)
  4.     for key, value in kwargs.items():
  5.         print(f"{key}: {value}")
  6. my_func(1, 2, 3, name="John", age=30, city="New York")
  7. # 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】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具