4.3 多参数函数

下面的代码定义了一个函数maximum,其功能是确定并返回三个值中的最大值。然后分别用整数、浮点数和字符串作为参数调用maximum三次:

我们没有在if语句的上方和下方放置空行,因为交互模式下在空行处按回车键表示完成函数的定义。

也可以使用混合类型作为参数调用maximum函数,例如intfloat

调用maximum(13.5,'hello',7)会导致TypeError,因为字符串和数字不能用大于(>)运算符进行比较。

函数maximum的定义

函数maximum的参数列表包含三个参数,它们以逗号分隔。代码段[2]中的参数122736分别赋值给参数value1value2value3

为了确定三个值中的最大值,函数的代码块每次处理一个值:

  • 首先,假设value1包含最大值,因此将其赋值给局部变量max_value。当然,value2value3可能包含实际的最大值,因此必须将它们与max_value进行比较。
  • 然后,第一个if语句测试value2>max_value,如果此条件为True,则将value2赋值给max_value
  • 最后,第二个if语句测试value3>max_value,如果此条件为True,则将value3赋值给max_value

现在,max_value中包含三个值中的最大值,因此将它返回。当控制权返回给调用者时,参数value1value2value3以及函数语句块中的变量max_value(都是局部变量)都将被回收。

Python内置函数maxmin

Python中包含许多用于完成常见任务的函数。例如,内置的maxmin函数分别可用于求出各自参数中的最大和最小值,它们的参数可以是两个,也可以是多个:

以上两个函数都可以接收可迭代的参数,例如列表或字符串。使用Python内置函数或标准库模块中的函数而不是编写自定义函数可以缩短开发时间并提高程序的可靠性、可移植性和性能。有关Python内置函数和模块的列表,可参阅https://docs.python.org/3/library/index.html。