Discuss / Python / 命名关键字参数的意义是什么

命名关键字参数的意义是什么

Topic source

#1 Created at ... [Delete] [Delete and Lock User]

我发现命名关键字参数不像关键字参数那样,你想输入就输入,不想输入就可以空着,它要求你必须有,不然会报错:missing n required keyword-only argument。
或许你可以在定义函数的时候给它一个缺省值,但这又跟默认参数有什么区别了呢?

在我理解里命名关键字参数跟默认参数好像没什么区别,不知道是否有什么我没get到的点

周刊少年-

#2 Created at ... [Delete] [Delete and Lock User]

区别就在于这个命名吧,一个是别人规定好的名字,一个可以自己起。

飞云

#3 Created at ... [Delete] [Delete and Lock User]

功能不一样。关键字参数是在函数调用的时候,通过参数名指认需要赋值的参数,这样就不怕因为搞不清楚参数的顺序而导致函数调用出错,命名关键字参数是为了检查或者说限制关键字参数的名称;默认参数则是为了减少输入的参数数量/减少重复工作量/降低函数调用难度。

在使用时,在命名关键字参数如果有默认值,和默认参数没啥区别,但如果命名关键字参数没有默认值,那函数调用时就必须输入参数名和参数值,这个默认参数不一样。(或者说是命名关键字参数可以有默认值,也可以没有)。

你说的应该是命名关键字参数和位置参数的区别意义不明,我也发现这个问题了。感觉很奇怪

youbenzhu

#5 Created at ... [Delete] [Delete and Lock User]

命名关键字参数好像是传入的时候必须带定义好的参数名,否则就会分不清是传给哪个参数,关键字参数接收的是一个dict,是key—value


  • 1

Reply