Python 函数关键字参数
关键字参数也称为命名参数。函数定义中的变量被用作关键字。当调用函数时,您可以明确指定名称和其值。
示例
# Function definition is here
def printinfo( name, age ):
"This prints a passed info into this function"
print ("Name: ", name)
print ("Age ", age)
return
# Now you can call printinfo function
# by positional arguments
printinfo ("Naveen", 29)
# by keyword arguments
printinfo(name="miki", age = 30)
默认情况下,该函数按出现的顺序给参数分配值。在第二次函数调用中,我们将值分配给了特定的参数。
这将产生以下 输出 −
Name: Naveen
Age 29
Name: miki
Age 30
让我们通过以下函数定义来更好地理解关键字参数:
def division(num, den):
quotient = num/den
print ("num:{} den:{} quotient:{}".format(num, den, quotient))
division(10,5)
division(5,10)
由于值是根据位置分配的,因此输出如下:
num:10 den:5 quotient:2.0
num:5 den:10 quotient:0.5
不要使用位置参数传递值,让我们使用关键字参数调用函数-
division(num=10, den=5)
division(den=5, num=10)
这将产生以下 输出 −
num:10 den:5 quotient:2.0
num:10 den:5 quotient:2.0
当使用关键字参数时,在函数定义中不需要按照形式参数的顺序进行。
使用关键字参数是可选的。您可以使用混合调用。您可以在不使用关键字的情况下给一些参数传递值,而对于其他参数则使用关键字。
division(10, den=5)
然而,在使用混合调用时,位置参数必须在关键字参数之前。
尝试使用以下语句调用division()函数。
division(num=5, 10)
由于位置参数不能出现在关键字参数之后,Python会提示以下错误消息 –
division(num=5, 10)
^
SyntaxError: positional argument follows keyword argument