FUNCTIONS WITH MULTIPLE PARAMETERS
Let’s define a maximum function that determines and returns the largest of three values—the following session calls the function three times with integers, floatingpoint numbers and strings, respectively.
...: """Return the maximum of three values."""
...: max_value = value1
...: if value2 > max_value:
...: max_value = value2
...: if value3 > max_value:
...: max_value = value3
...: return max_value
...:
In [2]: maximum(12, 27, 36)
Out[2]: 36
In [3]: maximum(12.3, 45.6, 9.7)
Out[3]: 45.6
In [4]: maximum('yellow', 'red', 'orange')
Out[4]: 'yellow'
We did not place blank lines above and below the if statements, because pressing return on a blank line in interactive mode completes the function’s definition.
You also may call maximum with mixed types, such as ints and floats:
Out[5]: 13.5
The call maximum(13.5, 'hello', 7) results in TypeError because strings and numbers cannot be compared to one another with the greaterthan (>) operator.
Function maximum’s Definition
Function maximum specifies three parameters in a commaseparated list. Snippet [2]’s arguments 12, 27 and 36 are assigned to the parameters value1, value2 and value3, respectively.
To determine the largest value, we process one value at a time:
- Initially, we assume that value1 contains the largest value, so we assign it to the local variable max_value. Of course, it’s possible that value2 or value3 contains the actual largest value, so we still must compare each of these with max_value.
- The first if statement then tests value2 > max_value, and if this condition is True assigns value2 to max_value.
- The second if statement then tests value3 > max_value, and if this condition is True assigns value3 to max_value.
Now, max_value contains the largest value, so we return it. When control returns to the caller, the parameters value1, value2 and value3 and the variable max_value in the function’s block—which are all local variables—no longer exist.
Python’s Built-In max and min Functions
For many common tasks, the capabilities you need already exist in Python. For example, builtin max and min functions know how to determine the largest and smallest of their two or more arguments, respectively:
Out[6]: 'yellow'
In [7]: min(15, 9, 27, 14)
Out[7]: 9
Each of these functions also can receive an iterable argument, such as a list or a string. Using builtin functions or functions from the Python Standard Library’s modules rather than writing your own can reduce development time and increase program reliability, portability and performance. For a list of Python’s builtin functions and modules, see