我的Python函数不符合我的预期:
def xyz(x=1, y=2):
print(str(x), str(y))
当我传入第二个参数(y)的参数时,我没有得到我期望的输出。
xyz(, 5)
我希望输出结果如下:
1 5
但相反,Python会产生错误。
答案 0 :(得分:0)
语法错误。这是您为特定参数传递值的方法。
def xyz(x=1, y=2):
print(str(x), str(y))
xyz(y=5)
答案 1 :(得分:0)
如果函数中有多个具有默认值的参数,则在调用它们时应该更具体。例如:
def xyz(z, x=1, y=2): # z doesn't have a default value
print(str(x), str(y))
xyz(3, x=5) # correct
xyz(3, x=5, y=9) # correct
xyz(3, 9, 5) # correct
xyz(5, 0, y=5) # correct!
xyz(5, 0, x=5) # incorrect!
xyz(x=5) # incorrect!
xyz(3, ,) # incorrect!
请记住,您必须在默认值参数
之前定义非默认值参数(也称为位置参数)