How to Use if and else Statements in Python

if and else statements are a fundamental part of making programs in Python and any other procedural programming language. They allow us to determine the result of inputs and whether an output is displayed.


In this tutorial, we will go through how to use if, else and else if statements in Python.


if Statement

Let's say we wanted to compare two values and print something if the comparison is true. We could achieve such a task using an if statement. In the example below, we are checking if 2 is greater than 1 and printing true if it is the case.


if 2 > 1:


Python Syntax

At this point, it is worth going over the syntax of python. If you are familiar with other procedural programming languages such as PHP you will have probably noticed that Python does not make use of {} (opening and closing curly brackets) - instead, it just uses a : (colon) to open statements. The reason for this is Python depends on indentation to determine what should be within a statement.


if 1 > 2:


The above statement will print nothing as 1 is not greater than two and print('true') is within the if statement as it is indented with a      (tab, or four space characters.)


if 1 > 2:
  File "<ipython-input-11-8fa672332a35>", line 2
IndentationError: expected an indented block


The above statement returns an error because no indentation was used.


if 1 > 2:
print('outside of if statement')
outside of if statement


outside of if statement is printed because it is not indented and therefore outside of the if statement.


else Statement

We can combine else with an if statement to do something if the if comparison is not true. else should be at the same indentation level as its if counterpart and must include an opening : (colon).


if 1 > 2:
   print('not true')
not true


elif Statement

If we need to perform a further comparison if an if statement is false we can use elif, which is shorthand for elseif. The syntax is exactly the same as an if statement.


if 1 > 2:
elif 2 > 1:
   print('true, two is greater than one')
two is greater than one


Nesting if Statements

When nesting if, else and elif statements it is important to observe Pythons indentation of rules. Each time a statement is nested in must be tabbed in one more time than its parent.


if 2 > 1:
   print('2 is greater than 1')
   if 2 == 3:
       print('2 equals 3')
   elif 3 > 2:
       print('3 is greater than 2')
       if 1 == 1:
           print('1 equals 1')
2 is greater than 1
3 is greater than 2
1 equals 1



You now know how to use if statements in Python and how to combine them with else and elif statements. The indentation method of containing statements is cleaner than opening and closing brackets as seen in other languages so getting used to the Python syntax should be pretty straightforward.