Python 3.x 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)

我有一个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)、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!
请记住,必须在默认值参数之前定义非默认值参数(也称为位置参数)