目前为止,使用函数时所用的参数都是位置参数,即传入函数的实际参数必须与形式参数的数量和位置对应。但是对于关键字参数的学习,则可以避免牢记参数位置的麻烦,令函数的调用和参数传递更加灵活方便。
关键字参数是指使用形式参数的名字来确定输入的参数值。通过此方式指定函数实参时,不再需要与形参的位置完全一致,只要将参数名写正确即可。
因此,Python 函数的参数名应该具有更好的语义,这样程序可以立刻明确传入函数的每个参数的含义。
def dis_str(str1,str2):
print("str1:",str1)
print("str2:",str2)
#位置参数
dis_str("python1","shell")
#关键字参数
dis_str("python2",str2="shell")
dis_str(str2="python3",str1="shell")
可以看到,在调用有参函数时,既可以根据位置参数来调用,也可以使用关键字参数来调用。在使用关键字参数调用时,可以任意调换参数传参的位置。
当然,还可以使用位置参数和关键字参数混合传参的方式。但需要注意,混合传参时关键字参数必须位于所有的位置参数之后。
不然报错——SyntaxError: positional argument follows keyword argument。