python kwargs是什么参数,Python中args

  python kwargs是什么参数,Python中args

  本文将通过实例学习如何在Python中使用*args和**kwargs。实例非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  

目录

1.导言2。问题介绍3。* Python中的args4。* * Python中的kwargs5。摘要

 

  

1. 引言

 

  在本文中,我们将讨论Python中的*args和**kwargs,它们的用法和例子。

  废话少说,我们开始吧。

  

2. 问题引入

 

  在用Python编写函数时,我们经常需要向函数传递值。这些值称为函数参数。

  举个栗子的例子吧。我们实现加法运算如下:

  def add(x,y):

  返回x y

  打印(添加(2,3))

  输出:

  五

  更进一步,如果需要实现三个数求和的运算呢?很简单,我们可以修改函数来接受三个参数并返回它们的和。代码如下:

  定义添加(x,y,z):

  返回x y z

  打印(添加(2,3,5))

  输出:

  10

  如果这时候我们需要再次对四个数求和呢?如果又变成五个数之和呢?

  当我们有可变数量的参数时,问题就出现了。我们应该继续修改函数来接受参数的确切数目吗?当然,我们不会那样做。其实上面这一幕才是*args和**kwargs大显身手的地方。

  

3. Python中的*args

 

  *args允许我们向Python中的相应函数传递可变数量的参数。在函数中,我们应该在参数名前使用*来表示传递可变数量的参数。

  示例代码如下:

  定义添加(*args):

  print(args,type(args))

  加法(2,3)

  输出如下所示:

  (2,3)类“元组”

  所以我们确定这些传递的参数在函数内部创建了一个tuple,然后我们就可以根据它编写相应的加法函数,如下:

  定义添加(*数字):

  总计=0

  对于数字:中的数字

  总计=数量

  退货总额

  调用代码如下:

  打印(添加(2,3))

  打印(添加(2,3,5))

  打印(添加(2,3,5,7))

  打印(添加(2,3,5,7,9))

  输出如下所示:

  五

  10

  17

  26

  需要注意的是,上述函数的参数名称不一定是args,可以是任何其他名称。在上面的代码中,是numbers,但通常的做法是用*args作为函数参数名,表示该参数是可变个数的参数。

  

4. Python中的**kwargs

 

  Kwargs是keyword arguments的缩写,意思是关键字参数。** kwargs允许我们向Python函数传递可变数量的关键字参数。在函数中,我们在参数名前使用双星号* *来表示这种类型的参数。

  示例代码如下:

  def total _ fruits(* *夸拉):

  打印(夸脱,类型(夸脱))

  水果总数(香蕉=5,芒果=7,苹果=8)

  输出如下所示:

  { 香蕉 : 5,芒果 : 7,苹果 : 8}类字典

  此时,我们可以看到,在上面的例子中,字典是作为参数传递的,这些参数在函数内部创建了一个字典。然后,我们可以实现函数total_fruits()来返回水果的总数。

  def total _ fruits(* *水果):

  总计=0

  对于水果中的金额. values():

  总计=金额

  退货总额

  调用代码如下:

  print(total_fruits(香蕉=5,芒果=7,苹果=8))

  print(total_fruits(香蕉=5,芒果=7,苹果=8,橙子=10))

  打印(总计_水果(香蕉=5,芒果=7))

  输出如下所示:

  20

  30

  12

  需要注意的是,参数的名称不一定是kwargs,可以是任何名称。在上面的代码中,它是* *果实。但通常的做法是用**kwargs作为函数参数名,表示该参数是可变个数的关键字参数。

  

5. 总结

 

  Args和kwargs可以组合传入任意参数,在参数未知的情况下非常有效,同时加强了函数的扩展性。

  关于Python中*args和**kwargs用法的详细解释,本文到此为止。有关Python *args **kwargs的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望你以后能支持热门的IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: