函数定义中的默认参数,语法问题。
Default Parameters in Function Definition, Syntax problems.
我无法为我的问题找到直接的答案。
我正在编写一个程序,其中某些参数具有一些默认值,但最终不会被用户调用。我的程序有点复杂,所以我决定尝试一个简化的问题。
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)
尽管顺便说一句,它可能比 return ans
更可取,而不仅仅是打印它 ...
您可以在调用站点使用=
指定要提供的参数:
mult(y = 5)
我无法为我的问题找到直接的答案。
我正在编写一个程序,其中某些参数具有一些默认值,但最终不会被用户调用。我的程序有点复杂,所以我决定尝试一个简化的问题。
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)
尽管顺便说一句,它可能比 return ans
更可取,而不仅仅是打印它 ...
您可以在调用站点使用=
指定要提供的参数:
mult(y = 5)