Python 函数参数列表中的斜杠(/)是什么意思
函数参数列表中的斜杠表示它之前的参数只能按位置传递。让我们先看一个带有参数的Python函数:
Python中的函数
示例
在这里,我们正在创建一个带有参数myStr的基本函数。
# Creating a Function
def demo(myStr):
print("Car =: ",myStr)
# function call
demo("BMW")
demo("Tesla")
输出
Car =: BMW
Car =: Tesla
函数参数列表中的斜杠
如上所述,函数参数列表中的斜杠表示它之前的参数是位置参数。
在调用接受位置参数的函数时,参数将根据其位置与参数对应。
divmod()函数
divmod()函数是斜杠在函数列表中的完美示例,它接受位置参数,如下所示 –
divmod(a, b, /)
上面的代码中,由于斜杠位于参数列表的末尾,参数a和b都是位置参数。
让我们使用Python中的help()函数打印divmod()的文档。
# Creating a Function
def demo(myStr):
print(help(divmod))
# function call
demo("BMW")
demo("Tesla")
输出
Help on built-in function divmod in module builtins:
divmod(x, y, /)
Return the tuple (x//y, x%y). Invariant: div*y + mod == x.
None
现在,让我们看一个divmod()的示例。两个参数都是被除数和除数 –
k = divmod(5, 2)
print(k)
输出
(2, 1)
参数列表末尾的斜杠意味着这两个参数只能按位置传递。因此,如果我们使用关键字参数调用divmod(),将会产生错误。
divmod(a = 5, b = 2)
输出
在上面的示例中,出现了一个错误,因为divmod()函数不接受关键字参数。