Python 函数定义中的默认参数、语法问题。

Python 函数定义中的默认参数、语法问题。,python,syntax,default-value,Python,Syntax,Default Value,我遇到了一个问题,那就是如何为我的问题找到一个直截了当的答案 我正在编写一个程序,其中某些参数有一些默认值,用户最终不会调用这些参数。我的程序有点复杂,所以我决定尝试一个简化的问题 def mult(x = 1, y = 2, z = 3): ans = x * y * z print(ans) mult() 在这个快速程序中,函数调用将导致6。这很有意义,因为它使用了我提供的默认值。我的问题是,如果我想定义y而不是任何其他变量,我如何调用这个函数?在这种情况下,正确的语法是

我遇到了一个问题,那就是如何为我的问题找到一个直截了当的答案

我正在编写一个程序,其中某些参数有一些默认值,用户最终不会调用这些参数。我的程序有点复杂,所以我决定尝试一个简化的问题

def mult(x = 1, y = 2, z = 3):
    ans = x * y * z
    print(ans)

mult()
在这个快速程序中,函数调用将导致6。这很有意义,因为它使用了我提供的默认值。我的问题是,如果我想定义y而不是任何其他变量,我如何调用这个函数?在这种情况下,正确的语法是什么


我的直觉是调用mult(x,5,z)来指示x和z的默认值,但为y指定一个新值。我知道这不起作用,我想知道正确的语法是什么

你可以用关键字来称呼它

mult(y=7) 

mult(z=55)

mult(z=12,y=16,x=5)

mult(x=15)

尽管作为旁白,它可能比返回ans更可取,而不仅仅是打印它…

你可以用关键字来调用它

mult(y=7) 

mult(z=55)

mult(z=12,y=16,x=5)

mult(x=15)

尽管作为旁白,
返回ans
可能比打印ans更可取…

您可以在调用站点使用
=
指定要提供的参数:

mult(y = 5)

您可以在呼叫站点使用
=
指定要提供的参数:

mult(y = 5)

mult(y=7)
…@JoranBeasley感谢您的澄清
mult(y=7)
…@JoranBeasley感谢您的澄清!