python 关键字参数和默认值

1,271 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第25天,点击查看活动详情

python 关键字参数和默认值

在Python中,有两种方法可以将形式参数绑定到实际参数。最常用的方法,也就是我们迄今为止使用的方法,称为位置 - 第一个形式参数绑定到第一个实际参数,第二个形式参数绑定到第二个实际参数,依此类推。Python 还支持关键字参数,其中形式使用形式参数的名称绑定到实际值。考虑函数定义

image.png

函数 print_name 假定名字和last_name是字符串,反之亦然。如果反向 == True,则打印last_name,first_name;否则打印first_name last_name。以下每个都是print_name的等效调用:

image.png

尽管关键字参数可以在实际参数列表中以任何顺序出现,但将关键字参数与非关键字参数一起遵循是不合法的。因此,错误消息将由

image.png

关键字参数通常与默认参数值结合使用。例如,我们可以写

image.png

默认值允许程序员调用参数数少于指定数目的函数。例如

image.png

将打印

image.png

print_name的最后两个调用在语义上是等效的。最后一个的优点是为可能神秘的论点True提供了一些文档。更一般地说,使用关键字参数可以降低无意中将实际参数绑定到错误形式参数的风险。代码行

image.png

不会对编写它的程序员的意图留下任何歧义。这很有用,因为以错误的顺序调用具有正确参数的函数是一个常见的错误。

与默认参数关联的值在函数定义时计算。这可能会导致令人惊讶的程序行为,正如我们在第 5-3 节中讨论的那样。

练习:

编写一个函数 mult,接受一个或两个整数作为参数。如果使用两个参数调用,则该函数将打印两个参数的乘积。如果使用一个参数调用,它将打印该参数。