Python If… Elif… Else… (with Examples)

In Python, the if, elif, else statements are control flow statements used to apply conditions for the Python code execution.

(If condition, do something, else do something else.)

The if, elif, and else keywords are used as a sequence if... elif... elif... else....

In this tutorial, we will learn how the if, elif and else statements work in Python.

Join the Newsletter

    How if/elif/else Statements Work?

    The if, elif and else keywords are used to apply conditions for the Python code execution.

    (If condition, do something, else do something else.)

    if condition:
        # Do something if condition is true
    else:
        # Do something else if condition is false
    

    If Statement

    The if statement is the statement that starts the control flow and defines the condition to be tested on.

    The if statement can be used by itself.

    # If statement
    if True:
        print('This is True')
    
    This is True
    

    Else Statement

    The else statement is the optional control flow statement that defines the code to be executed when the prior condition(s) is not met.

    # If/Else Statement
    i = 1
    if i > 10:
        print('i is greater than 10')
    else:
        print('i is smaller than 10')
    
    i is smaller than 10
    

    Elif Statement

    The elif statement is the optional control flow statement that defines additional conditions to be evaluated and the code to be executed in the conditional statement.

    # Simple Elif Example
    i = 12
    if i < 2:
        print('i is less than 2')
    elif i > 10:
        print('i is greater than 10')
    else:
        print('i is a number between 2 and 10')
    
    i is greater than 10
    

    Python Conditions and Logical Operators

    The conditions that can be used in Python with if… elif… else statements are described in the table below.

    Python ConditionDescription
    x == yx is equal to y
    x != yx is not equal to y
    x < yx is less than y
    x > yx is greater than y
    x <= yx is less than or equal to y
    x >= yx is greater than or equal to y
    x in sequencex is present in the given sequence
    x not in sequencex is not present in the given sequence

    How to Combine Multiple Conditional Statements with And… Or Keywords

    The and and or keywords are logical operators used to combine conditional statements.

    And Python Keyword

    # Example and
    a = 10
    b = 1
    c = 100
    if a > b and a < c:
        print('a is greater than b and smaller than c')
    
    a is greater than b and smaller than c

    Or Python Keyword

    # Example OR
    a = 0
    b = 10
    if a == 0 or a > b:
        print('a is either 0 or greater than b')
    
    a is either 0 or greater than b

    How to Reverse a Python Conditional Statement with “Not”

    The not keyword is a logical operators used to reverse the conditional statements.

    # Not operator
    i = 10
    if not i == 10:
        print('i != 10')
    else:
        print('i equals 10')
    
    i equals 10

    The code below is equivalent to the code above that that uses the not operator.

    # Equivalent to
    # Not operator
    i = 10
    if  i != 10:
        print('i != 10')
    else:
        print('i equals 10')
    
    i equals 10

    The not operator is useful in loops to make the code somewhat more readable.

    # Useful in loops
    ls = [1,2,3,4]
    
    for i in ls:
        if not i == 2:
            print(i)
    
    1
    3
    4

    Check if a Value is Present in a Sequence with “In”

    The Python in keyword can be used in two situations:

    • used in a if conditional to check if a value is present in a sequence
    • iterate through a sequence in a for loop

    How to Use the “In” Keyword in an “If… Else” Conditional

    In a if… else conditional, the in keyword is used to check if a value is present in a sequence.

    # Check if a value is present
    ls = [1,2,3]
    i = 1
    if i in ls:
        print('i is present in the list')
    
    i is present in the list

    How to Create Nested If Statements

    Nested if statements are if statements that are added inside other if statements.

    # Example Nested If Statement
    s = 'hello'
    if isinstance(s, str):
        if 'e' in s:
            print(s)
    
    hello

    How to Make Single-Line If Else Statements

    A single-line if statement in Python means that you are deleting the newline and the indentation.

    The code is the same, but on one line instead of two.

    # Short Hand If
    i = 10
    if i > 2: print("i is greater than 2")
    
    i is greater than 2

    What are Ternary Operators in Python

    The if-else ternary operator in Python is a concise way to write conditional expressions in a single line of code.

    Ternary Operator Syntax

    The syntax of the One Line if…else Ternary Operator is:

    val_true if condition else val_false
    1. value if true
    2. condition
    3. value if false

    Below are examples of a multi-line if… else statement converted in a single-line if… else ternary operator.

    Example of a Multi-line If… Else

    # Multi-line if-else
    i = 12
    if i < 10:
        print('i is less than 10')
    else:
        print('i is greater than 10')
    

    Example of One-line if else with Ternary Operator

    # One-line if else with ternary operator
    i = 12
    print('i is less than 10') if i < 10 else print('i is greater than 10')
    

    SyntaxError With Ternary Operator

    The one-line if statement must have a single line of code in the condition. The example below throws a SyntaxError.

    # SyntaxError with One-line
    i = 10
    if i > 2: print("i is greater than 2") print('hello')
    

    Python Pass in the If… Else Block

    An if statement can’t be empty. Use the pass statement when creating an if statement with no value.

    The example below will throw a SyntaxError.

    # SyntaxError: incomplete input
    if True:
    

    The pass statement can be used as a placeholder to the Python if... else... block so that the code does not break.

    # pass
    if True:
        pass
    

    What is if __name__ == ‘__main__’?

    The if name equals main statement is a control flow statement that allows you to execute code only when the Python script is run and not when it is imported as a module.

    The function below will only execute if the script is executed directly, and not imported.

    def my_funct():
        print('hello')
    
    if __name__ == '__main__':
      my_funct()
    

    Conclusion

    We have covered how to use Python if… elif… else conditional statements.

    Enjoyed This Post?