Python Control Statements
What’s interesting to do with booleans, and expressions that return a boolean in particular, is that we can make decisions and take different roads depending on their True
or False
value.
In Python we do so using the if
statement:
condition = True
if condition == True:
# do something
When the condition test resolves to True
, like in the above case, its block gets executed.
What is a block? A block is that part that is indented one level (4 spaces usually) on the right:
condition = True
if condition == True:
print("The condition")
print("was true")
The block can be formed by a single line, or multiple lines as well, and it ends when you move back to the previous indentation level:
condition = True
if condition == True:
print("The condition")
print("was true")
print("Outside of the if")
In combination with if
you can have an else
block, that’s executed if the condition test of if
results to False
:
condition = True
if condition == True:
print("The condition")
print("was True")
else:
print("The condition")
print("was False")
And you can have different linked if
checks with elif
, that’s executed if the previous check was False
:
condition = True
name = "Roger"
if condition == True:
print("The condition")
print("was True")
elif name == "Roger":
print("Hello Roger")
else:
print("The condition")
print("was False")
The second block in this case is executed if condition
is False
, and the name
variable value is “Roger”.
In a if
statement you can have just one if
and else
checks, but multiple series of elif
checks:
condition = True
name = "Roger"
if condition == True:
print("The condition")
print("was True")
elif name == "Roger":
print("Hello Roger")
elif name == "Syd":
print("Hello Syd")
elif name == "Flavio":
print("Hello Flavio")
else:
print("The condition")
print("was False")
if
and else
can also be used in an inline format, which lets us return a value or another based on a condition.
Example:
a = 2
result = 2 if a == 0 else 3
print(result) # 3
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025