您当前位置:首页 > 深入 Python > 自省的强大功能 > 使用可选参数和命名参数 | << >> | ||||
深入 Python从 Python 新手到专家 |
Python 允许函数参数具有默认值;如果调用函数时未提供参数,则该参数将使用其默认值。此外,可以通过使用命名参数以任意顺序指定参数。SQL Server Transact/SQL 中的存储过程也可以这样做,因此如果您是 SQL Server 脚本专家,则可以跳过此部分。
以下是 info 的示例,这是一个具有两个可选参数的函数
def info(object, spacing=10, collapse=1):
spacing 和 collapse 是可选的,因为它们定义了默认值。object 是必需的,因为它没有默认值。如果仅使用一个参数调用 info,则 spacing 默认为 10,collapse 默认为 1。如果使用两个参数调用 info,则 collapse 仍默认为 1。
假设您要为 collapse 指定一个值,但要接受 spacing 的默认值。在大多数语言中,您将无计可施,因为您需要使用三个参数调用该函数。但是在 Python 中,可以按名称以任意顺序指定参数。
info(odbchelper)info(odbchelper, 12)
info(odbchelper, collapse=0)
info(spacing=15, object=odbchelper)
这看起来很奇怪,直到您意识到参数只是一个字典。不带参数名称的“普通”函数调用方法实际上只是一种简写,其中 Python 将值与其在函数声明中指定的顺序的参数名称进行匹配。大多数情况下,您将以“普通”方式调用函数,但如果需要,您始终可以灵活地使用其他方式。
![]() |
|
调用函数唯一需要做的是为每个必需的参数指定一个值(以某种方式);您执行此操作的方式和顺序由您决定。 |
<< 自省的强大功能 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
使用 type、str、dir 和其他内置函数 >> |