Do you need to create a function that returns a Boolean (True
or False
) but you don’t know how? No worries, in sixty seconds, you’ll know! Go! π₯π₯π₯
A Python function can return any object such as a Boolean value (True
or False
). To return a Boolean, you can have an arbitrary simple or complex expression within the function body and put the result of this after the return
keyword (e.g., return False
).
π Recommended Tutorial: The return
keyword in Python
Boolean Function – Minimal Example
Let’s have a look at a minimal example that creates a function boo()
that returns one Boolean value False
and does nothing else:
def boo(): return False print(boo()) # False
Where would you use such a function?
In many cases, you want to use the Boolean function in a conditional statement such as if
expression or a while
loop to determine the execution branch.
The following example shows how the boo()
function returns the Boolean value False
and is called directly within an if
condition to determine the execution branch.
In the example, we visit the else
branch because the function returns False
.
if boo(): print('Yay') else: print('Nay') # Output: Nay
Boolean Function – More Practical Example
A more practical example would be the following function that checks for a given integer argument whether it is an even or odd number.
- If the argument is even, it returns
True
. - If the argument is odd, it returns
False
.
def is_even(x): ''' Returns True if x is an even number and False otherwise.''' if x%2 == 0: return True else: return False
We use the modulo operator to determine whether the number is divisible by 2 without remainder, i.e., the definition of an even number.
π Recommended Tutorial: Python Modulo Operator — A Simple Guide
We can use the function is_even()
to guess a random number until we get an odd number by a simple guess-and-check routine:
import random x = random.randint(0, 9) while is_even(x): x = random.randint(0, 9) print(x)
Of course, this is non-deterministic, so we don’t know which output it will produce. We only know that the print()
statement will for sure print an odd number. In my case, the output was 3.
π‘ Note: A much more concise way to write the same function would be the following one-liner expression not bool(x%2)
that uses the bool()
function, the modulo operator %
and the not
operator.
def is_even(x): return not bool(x%2) print(is_even(8)) # True print(is_even(3)) # False
Related Tutorials
- Python Return String From Function
- Python Return Dict From Function
- Python Return Set From Function
- Python Return List From Function
Programmer Humor
Q: How do you tell an introverted computer scientist from an extroverted computer scientist?
A: An extroverted computer scientist looks at your shoes when he talks to you.