Boolean Functions

We have already seen that boolean values result from the evaluation of boolean expressions. Since the result of any expression evaluation can be returned by a function (using the return statement), functions can return boolean values. This turns out to be a very convenient way to hide the details of complicated tests. For example:




(ch06_boolfun1)

The name of this function is isDivisible. It is common to give boolean functions names that sound like yes/no questions. isDivisible returns either True or False to indicate whether the x is or is not divisible by y.

We can make the function more concise by taking advantage of the fact that the condition of the if statement is itself a boolean expression. We can return it directly, avoiding the if statement altogether:

def isDivisible(x, y):
    return x % y == 0

Boolean functions are often used in conditional statements:

if isDivisible(x, y):
    ... # do something ...
else:
    ... # do something else ...

It might be tempting to write something like if isDivisible(x, y) == True: but the extra comparison is not necessary. The following example shows the isDivisible function at work. Notice how descriptive the code is when we move the testing details into a boolean function. Try it with a few other actual parameters to see what is printed.




(ch06_boolfun2)

Here is the same program in codelens. When we evaluate the if statement in the main part of the program, the evaluation of the boolean expression causes a call to the isDivisible function. This is very easy to see in codelens.

(ch06_boolcodelens)

Check your understanding

select-8-1: What is a Boolean function?




select-8-2: Is the following statement legal in Python (assuming x, y and z are defined to be numbers)?

return x + y < z



Informacja

This workspace is provided for your convenience. You can use this activecode window to try out anything you like.




(scratch_06_03)

Następna część - Glossary