python - 普通参数与关键字参数

标签 python arguments keyword optional-parameters named-parameters

“关键字参数”与常规参数有何不同?不能所有参数都作为 name=value 而不是使用位置语法传递吗?

最佳答案

有两个相关的概念,都称为“关键字参数”。

在调用端,正如其他评论者所提到的,您可以按名称指定一些函数参数。您必须在所有没有名称的参数之后提及它们(位置参数),并且对于任何根本没有提及的参数都必须有默认值

另一个概念是在函数定义方面:您可以定义一个按名称获取参数的函数——您甚至不必指定这些名称是什么。这些是纯关键字参数,不能按位置传递。语法是

def my_function(arg1, arg2, **kwargs)

您传递给此函数的任何关键字参数都将被放入名为kwargs的字典中。您可以在运行时检查此字典的键,如下所示:

def my_function(**kwargs):
    print str(kwargs)

my_function(a=12, b="abc")

{'a': 12, 'b': 'abc'}

关于python - 普通参数与关键字参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1419046/

相关文章:

python - 为什么在 PIL(low) 中读取图像会破坏 Flask 图像终点?

python - 使用 numpy 生成 tall 数组

c# - 在 C# 中执行时将自定义变量添加到应用程序路径的末尾

Python Selenium + Datepicker 问题

python - 使用 cssutils python 模块时 [dir=rtl] 的样式表解析错误

python 参数有 3 个参数?在哪里?

c++ - 调用约定和求值顺序

java - 为什么我的方法没有按照我想要的方式对矩阵中的列进行排序?

database - 是否有任何免费数据库存储关键字和其他相关关键字,供应用程序确定语义相关性?

Groovy: "def"中 "def x = 0"的用途是什么?