100 days of data science and AI Meditation (Day 36- A Beginner’s Guide to Understanding and Using If Statements in Python)

Farzana huq
9 min readSep 13, 2023

--

This is part of my data science and AI marathon, and I will write about what I have studied and implemented in academia.

If you’re new to programming, you may have heard about “if statements” and wondered what they are and why they are essential. If statements are a fundamental building block of programming, allowing your code to make decisions and take different actions based on specific conditions. In this beginner-friendly guide, we will demystify if statements, explore their syntax, and provide practical examples to help you understand and implement them in Python.

Introduction to If Statements

Imagine you are writing a program, and you want it to react differently to various situations. For instance, you may want your program to display “Good morning” if it’s before noon and “Good evening” if it’s past noon. This is where if statements come into play. If statements allow your program to evaluate conditions and execute different code blocks based on whether those conditions are true or false.

Syntax and Structure of If Statements in Python

In Python, if statements follow a simple structure:

The if keyword is followed by a condition, which is an expression that evaluates to either True or False. If the condition is True, the indented code block beneath it is executed. If the condition is False, the code block is skipped.

How to Write Simple If Statements

Let’s start with the most basic form of an if statement. Here’s an example that checks whether a number is greater than 10:

In this example, if the number variable holds a value greater than 10 (which it does), the message will be printed.

Using Comparison Operators in If Statements

To create conditions in if statements, you can use comparison operators. These operators allow you to compare values and create conditions based on the results. Here are some common comparison operators in Python:

  • > (greater than)
  • < (less than)
  • >= (greater than or equal to)
  • <= (less than or equal to)
  • == (equal to)
  • != (not equal to)

Here’s an example using the equality operator (==):

In this case, the message will not be printed because the age is 25, not 18.

Difference between = and == in if statements:

  • = (Single Equal Sign): The single equal sign is used for variable assignment in Python. When you use =, you are assigning a value to a variable. For example:

== (Double Equal Sign): The double equal sign is used for comparison in if statements. When you use ==, you are checking if two values are equal. For example:

In summary, = is for assignment, while == is for comparison. It's a common mistake to use = when you intend to compare values in an if statement.

Using if statements with loops for complex programs:

You can combine if statements with loops (e.g., for loops or while loops) to create more complex programs. This combination allows you to repeat certain actions or decisions based on conditions. For example, you can use a for loop to iterate over a list and use if statements to perform different actions on each element of the list based on conditions.

Performance considerations when using if statements:

In general, if statements have negligible performance overhead in most Python programs. However, if you have a large number of if statements or complex conditions, it’s essential to consider code readability and maintainability. Using well-structured code with meaningful variable names can help keep your code efficient.

Examples of conditional expressions in if statements:

Conditional expressions (also known as ternary operators) are a concise way to write simple if-else statements in a single line. Here’s an example:

In this example, message will be assigned the value "Even" if x is even (the condition is true), and "Odd" if x is odd (the condition is false).

Alternative ways for conditional branching:

Besides if statements, Python offers other conditional branching mechanisms like:

  • switch statement: Python doesn't have a built-in switch statement like some other languages, but you can emulate it using dictionaries or if-elif chains.
  • Dictionaries: You can use dictionaries to create mappings between values and actions to be taken.

Handling user input with if statements:

If statements are commonly used to handle user input and make decisions based on it. For example, you can use the input() function to receive user input and then use if statements to process it:

Short-circuiting in if statements:

Short-circuiting is a behavior in Python (and many other programming languages) where the evaluation of a complex condition stops as soon as the result is known. For example, in an and condition, if the first part is False, the whole condition is False, so Python doesn't bother evaluating the second part.

Limitations and restrictions of if statements:

There are no significant limitations to using if statements in Python, but it’s important to keep in mind that they are meant for simple to moderately complex decision-making. For extremely complex branching logic, other control structures or refactoring may be more suitable.

Tips for optimizing if statements:

  • Keep if statements simple and readable.
  • Avoid deeply nested if statements.
  • Use elif or switch-like constructs when appropriate.
  • Profile your code to identify performance bottlenecks before optimizing if statements.

Using if statements for exception handling:

If statements can be used in conjunction with exception handling to handle errors gracefully. You can use a try-except block to catch and handle exceptions:

This allows you to respond to specific error conditions and ensure your program doesn’t crash when exceptions occur.

Boolean Expressions in If Statements

At the core of if statements are boolean expressions. A boolean expression is an expression that evaluates to either True or False. These expressions can involve variables, constants, and comparison operators. For example:

In this example, the condition is_sunny is a boolean expression because it directly evaluates to True.

Using Logical Operators in If Statements

To create more complex conditions, you can use logical operators. Python provides three main logical operators: and, or, and not. These operators allow you to combine multiple conditions.

  • and: Returns True if both conditions are True.
  • or: Returns True if at least one condition is True.
  • not: Negates the condition; if it's True, not makes it False, and vice versa.

Here’s an example using the and operator:

In this case, both is_weekday and is_sunny must be True for the message to be printed.

Nested If Statements and elif Statements

You can also create more complex decision-making structures using nested if statements and elif (short for "else if") statements. Nested if statements are if statements inside other if statements, and elif statements provide additional conditions to check when the initial if condition is False.

Here’s an example with nested if statements:

In this example, the inner if statement is only checked if the outer if statement is True.

Here’s an example with elif statements:

In this case, the program checks multiple conditions and prints the corresponding grade.

The Role of Indentation

Indentation is crucial in Python because it defines the scope of code blocks. Unlike some other programming languages that use braces {} or keywords to indicate code blocks, Python uses indentation. Indentation helps Python determine which code belongs to an if statement and which does not.

Here’s an example that demonstrates proper indentation:

In this example, the second print statement is outside the if block because it is not indented.

Truthiness and Falsiness

In Python, values have inherent truthiness or falsiness. In conditional statements, values are considered “truthy” if they evaluate to True and "falsy" if they evaluate to False. Here are some examples:

  • Numeric values: Non-zero numbers are truthy; zero is falsy.
  • Strings: Non-empty strings are truthy; empty strings are falsy.
  • Lists, sets, and other collections: Non-empty collections are truthy; empty collections are falsy.
  • None: Always falsy.
  • Boolean values: True is truthy, and False is falsy.

Understanding truthiness and falsiness is essential when working with if statements, as it allows you to write more concise and expressive code.

Common Mistakes and Pitfalls

When using if statements, beginners often encounter some common mistakes and pitfalls:

  • Forgetting colons: Don’t forget to put a colon (:) at the end of the if statement line.
  • Inconsistent indentation: Make sure your code is consistently indented; mixing tabs and spaces can lead to errors.
  • Using a single equal sign (=) instead of double equal signs (==): A single equal sign is used for variable assignment, while == is used for comparison in if statements.

Practical Tips and Best Practices

To make the most of if statements, consider the following tips:

  • Use meaningful variable names: Use descriptive variable names to make your code more readable.
  • Comment your code: Add comments to explain complex conditions or the purpose of if statements.
  • Keep if statements simple: Complex conditions can be challenging to debug; break them into smaller, more manageable parts.
  • Test your code: Verify that your if statements work as expected by testing various conditions.
  • Refactor when necessary: If your code becomes too complex, consider refactoring it into smaller functions or using

if statements are powerful tools for making decisions in your Python programs, and they can be used in various ways to control the flow of your code. Understanding their syntax, combining them with loops, and being aware of their performance implications are essential for effective programming.

Some helpful resources to learn more!

  1. Python Official Documentation:
  • Python Control Flow — The official Python documentation provides a comprehensive overview of control flow structures, including if statements.

2. Python for Beginners:

3. Real Python:

4. W3Schools:

  • Python if…else Statement — W3Schools provides interactive tutorials on various programming topics, including Python if statements.

5. GeeksforGeeks:

  • Python If-Else — GeeksforGeeks offers tutorials, examples, and practice problems for Python if statements.

6. TutorialsPoint:

7. Codecademy:

  • Python If Statements — Codecademy offers interactive Python courses, and their cheatsheet provides a quick reference for if statements.

8. YouTube Tutorials:

9. Practice Coding:

If you enjoy reading stories like these and want to support me as a writer, consider signing up to become a Medium member. It’s $5/month, giving you unlimited access to thousands of stories on Medium, written by thousands of writers. If you sign up using my link https://medium.com/@fhuqtheta, I’ll earn a small commission.

--

--

Farzana huq

My area of interest are Insurance and tech , Deep learning, Natural language processing, Data mining, Machine learning, algorithmic trading, quantum computing.