# 目前为止，我们使用函数时所用的参数都是位置参数，即传入函数的实际参数必须与形式参数的数量和位置对应。而本节将介绍的关键字参数，则可以避免牢
# 记参数位置的麻烦，令函数的调用和参数传递更加灵活方便。
#
# 关键字参数是指使用形式参数的名字来确定输入的参数值。通过此方式指定函数实参时，不再需要与形参的位置完全一致，只要将参数名写正确即可。
#
# 因此，Python 函数的参数名应该具有更好的语义，这样程序可以立刻明确传入函数的每个参数的含义。
# 定义一个函数
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))


def begin(x, y):
    print(x, y)


# 按照顺序就是位置参数
begin(1, 2)
# 关键参数需要输入参数的名称
begin(1, y=2)
# 关键参数与位置参数混搭，位置参数必须在前面,否则会报错
begin(y=2, x=1)
