Understanding Python Syntax and Indentation


Python is known for its clean and readable syntax, making it one of the most beginner-friendly programming languages. However, what really makes Python unique, is how it uses indentation instead of braces to define blocks of code. In this post, we’ll break down the basic syntax of Python, explain the role of indentation, and help you avoid common mistakes that many people can make when learning to utilize this robust language.


🔤 What is Syntax in Python?

Syntax in any programming language refers to the set of rules that define how the code must be written to be understood by its interpreter or compiler. In Python, the syntax is designed to be as readable as the English language. Here is an example of a simple print statement in Python:

print("Hello, world!")

This line prints a messages the screen. There aren’t any special classes you have to create or line-endings (semi-colons) that you have to place to designate to the interpretor what this code does.


💡The Importance of Indentation in Python

Unlike many other languages that require curly braces to designate the start and end of code blocks, Python uses indentation to define them. This includes the body of a loop, function, or conditional statement.

Example:

for i in range(5):
    print(i)

In Python, when a block of code is indented it means that it belongs to the previous unindented statement. In this example, the print statement belongs to the for loop. Incorrect indentation will cause errors in Python, so be sure to keep an eye out for that!

if True:
print("This will cause an IndentationError.")  # ❌

You have to be consistent with the number of spaces or tabs used. The Python community standard recommends using 4 spaces (a basic tab) for each indentation level.


🙅‍♂️ Common Indentation Errors

Python will throw specific errors when the indentation is wrong in an application:

  • IndentationError: expected an indented block
  • IndentationError: unexpected indent

These usually happen when:

  • A block has no indentation where it should
  • Extra spaces are added accidentally

📑 Common Blocks that use Indentation

Here are some common structures in Python that require indentation:

  • Conditional statements
  • Loops
  • Functions
  • Classes

There are more, however if you stick to what I said previously about the indented code block belonging to the last unindented statement you shouldn’t run into any problems!


🪺 Yes, Indentation can be Nested!

Before we finish this article, something I want to mention is that you can have multiple indented code blocks in the same application. For those that might not understand what that means, let’s look at the following example:

for i in range(5):
    for j in range(3):
        print(i, j)

As you can see, the print statement belongs to the for j in range(3) statement, while that statement belongs to the for i in range(5) statement. This is a nested code block, and is perfectly normal to see in Python.


📝 Summary

Understanding Python’s syntax and indentation rules is essential for writing clean, functional code. Once you get used to the structure, it becomes second nature… and even helps you write more readable code in other languages! I hope you enjoy your development journey!