Python学习13.05:Python函数关键字参数及用法

目前为止,咱们使用函数时所用的参数都是位置参数,即传入函数的实际参数必须与形式参数的数量和位置对应。而本节将介绍的关键字参数,则能够避免牢记参数位置的麻烦,令函数的调用和参数传递更加灵活方便。

关键字参数是指使用形式参数的名字来肯定输入的参数值。经过此方式指定函数实参时,再也不须要与形参的位置彻底一致,只要将参数名写正确便可。python

所以,Python 函数的参数名应该具备更好的语义,这样程序能够马上明确传入函数的每一个参数的含义。函数

例如以下程序:spa

# 定义一个函数
def girth(width , height):
    print("width: ", width)
    print("height: ", height)

    return 2 * (width + height)


# 传统调用函数的方式,根据位置传入参数
print(girth(3.5, 4.8))
# 根据关键字参数来传入参数
print(girth(width = 3.5, height = 4.8))
# 使用关键字参数时可交换位置
print(girth(height = 4.8, width = 3.5))
# 部分使用关键字参数,部分使用位置参数
print(girth(3.5, height = 4.8))

上面程序定义了一个简单的 girth() 函数,该函数包含 width、height 两个参数,该函数与前面定义的函数并无任何区别。

接下来在调用该函数时,既可以使用传统的根据位置参数来调用(如上面程序中第 7 行代码所示),也可根据关键字参数来调用(如上面程序中第 9 行代码所示),在使用关键字参数调用时可交换参数的位置(如上面程序中第 11 行代码所示〕,还可混合使用位置参数和关键字参数(如上面程序中第 13 行代码所示)。

须要说明的是,若是但愿在调用函数时混合使用关键字参数和位置参数,则关键字参数必须位于位置参数以后(关键字参数在参数列表右侧)。换句话说,在关键字参数以后的只能是关键字参数。例如以下代码是错误的:.net

# 位置参数必须放在关键字参数以前,下面代码错误code

print(girth(width = 3.5, 4.8))

运行上面代码,将会提示以下错误:get

SyntaxError: positional argument follows keyword argument
相关文章
相关标签/搜索