美文网首页
任意数量的关键字参数

任意数量的关键字参数

作者: ZChao_b56b | 来源:发表于2019-07-27 13:24 被阅读0次
## var-keywords parameter
## 定义的时候,需要两个星号作为前缀

>>>def func(arg1, arg2, **kwargs):
    print (arg1, arg2, kwargs)
>>>func("hello", "Dict, values is:", x=2, y=3, z=3)
hello Dict., values is: {'y': 3, 'x': 2, 'z': 3}

## 多余的参数将自动被放入字典中提供给函数使用
## 如果你需要直接传递字典给函数
## 你需要在传递的过程中添加**
## 此时如果还有关键字参数应在字典前提供完成
## 不能在字典后再提供
## 请看下面例子中的输出差异:

>>>func("hello", "Dict., values is:", **{'x':2, 'y':3, 'z':3})
hello Dict., values is: {'y': 3, 'x': 2, 'z': 3}
>>>func("hello", "Dict., values is:", **{'x':2, 'y':3, 'z':3,})
hello Dict., values is: {'y': 3, 'x': 2, 'z': 3}
>>>func("hello", "Dict., values is:", {'x':2, 'y':3, 'z':3})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: func() takes exactly 2 arguments (3 given)
>>>func("hello", "Dict., values is:", s=3, **{'x':2, 'y':3, 'z':3,})
hello Dict., values is: {'y': 3, 'x': 2, 's': 3, 'z': 3}
 
## 提供了重复的参数

>>>func("hello", "Dict., values is:", y=3, **{'x':2, 'y':3, 'z':3,})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: func() got multiple values for keyword argument 'y'

相关文章

  • python防遗忘复习练手之:函数参数的顺序

    python函数参数的顺序依次为:位置参数带默认值的位置参数任意数量的位置参数任意数量的关键字参数 代码: 运行结果:

  • 任意数量的关键字参数

  • Python 函数

    关键字 def 传递任意参数的实参 传递任意数量的关键字形参 形参 **user_info 中的两个星号让Pyth...

  • 函数

    函数传参的4种方法 位置参数,关键字参数,默认值,任意数量参数参数和变量很类似,只是参数在函数调用的时候已经定义好...

  • 函数2019-03-18

    函数传参的4种方法 位置参数,关键字参数,默认值,任意数量参数参数和变量很类似,只是参数在函数调用的时候已经定义好...

  • Python 强化训练:第五篇

    强化训练:第五篇 主题:函数 基本定义方法 任意数量参数 只接受关键字参数 显示数据类型 默认参数 匿名函数 N个...

  • 新2019计划:python学习-函数【5】

    函数用法 本篇章,主要介绍函数的几种用法,包括传参数、实参形参、不同参数形式(位置实参、关键字实参、任意数量的实参...

  • 任意数量的位置参数

  • 函数

    函数 可接受任意数量参数的函数 可以使用 * 使函数接收任意数量的位置参数, * 只能是函数的最后一个位置参数 ...

  • python 编写可接受任意数量参数的函数

    7.1 编写可接受任意数量参数的函数 使用*开头的参数,就可以接受任意数量的参数 上述方法中,rest是一个元组结...

网友评论

      本文标题:任意数量的关键字参数

      本文链接:https://www.haomeiwen.com/subject/hjterctx.html