Python 3.x Python传递第二个参数而不是第一个参数
我有一个Python函数,它的运行方式与我预期的不同:Python 3.x Python传递第二个参数而不是第一个参数,python-3.x,function,Python 3.x,Function,我有一个Python函数,它的运行方式与我预期的不同: def xyz(x=1, y=2): print(str(x), str(y)) 当我为第二个参数(y)传入一个参数时,我没有得到预期的输出 xyz(, 5) 我希望输出的结果是: 1 5 但是Python产生了一个错误。语法错误。这是传递特定参数值的方式 定义xyz(x=1,y=2): 打印(str(x)、str(y)) xyz(y=5) 语法错误。这是传递特定参数值的方式 定义xyz(x=1,y=2): 打印(str(x)
def xyz(x=1, y=2):
print(str(x), str(y))
当我为第二个参数(y)传入一个参数时,我没有得到预期的输出
xyz(, 5)
我希望输出的结果是:
1 5
但是Python产生了一个错误。语法错误。这是传递特定参数值的方式 定义xyz(x=1,y=2): 打印(str(x)、str(y)) xyz(y=5)
语法错误。这是传递特定参数值的方式 定义xyz(x=1,y=2): 打印(str(x)、str(y)) xyz(y=5)
如果函数中有多个具有默认值的参数,则在调用它们时应更加具体。例如:
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!
请记住,必须在默认值参数之前定义非默认值参数(也称为位置参数)如果函数中有多个具有默认值的参数,则在调用它们时应更加具体。例如:
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!
请记住,必须在默认值参数之前定义非默认值参数(也称为位置参数)