5 Typical Mistakes Made by Python Programmers (and How To Fix Them)


Python is one of the most widely used programming languages. It’s a high-level programming language that’s object-oriented. Python is noted for its readability, simplicity, and efficiency in its coding. Because Python is an interpreted language, developers have a lot of freedom when writing code. However, with enormous power comes great responsibility, as well as far more possibility for error. In this post, we’ll look at ten frequent Python programming errors and how to avoid them.

We’ll talk about:

  1. Incorrect indentation
  2. ImportError caused by identical module names
  3. Mutable default arguments
  4. Forgetting a colon at the end of structural sentences
  5. Inconsistency with parentheses or brackets


Incorrect indentation
In Python, indentation shows whether a line of code belongs to a block of code’s previous statement. The official Python style rules (PEP 8) advocate a four-space indentation. You do, however, have the option of selecting any number of spaces as well as the tab key. Python just demands one thing: consistency, regardless of indentation.

To fix an indentation error, try to:
Commit to either the spaces or the tab keys, but not both: You’ll want to pay additional attention since if the indentation looks identical, you could not notice you’ve merged tabs and spaces. To replace tabs with spaces or vice versa, consider using a Python IDE or code editor with a search/replace tool.
If you’re going to use spaces, keep the number of spaces consistent: You don’t have to utilize the four spaces recommended by PEP 8, but whatever number you choose, stick to it!


ImportError caused by identical module names
You might be attempting to import a built-in module that you know is included in Python’s Standard Library, but the interpreter responds with “ImportError.” This problem frequently occurs when developers import a file into their library that has the same name as one of the built-in modules in the Standard Library. In certain cases, Python prefers the identically named module you’ve added over the built-in module from the Standard Library. What is the solution? Simply change the name of the file in your library to something unique that isn’t shared with a Standard Library module.

Using mutable default arguments
When giving mutable data types to default parameters, another typical issue develops. For mutable data types, Python only evaluates defaults once, when the function is created. For any subsequent function run, it will not set the default. If you only call a function once in your code, you may not notice anything strange, but if you call it again, Python will utilize the default value that was evaluated during the initial function call.

Assume you’re working with a mutable data type as a list. The list established when the function was first defined will be used by the interpreter. This code demonstrates the odd behavior that can occur when that list is appended.


Forgetting a colon at the end of structural sentences
If you’re getting syntax issues, it’s possible that you neglected to put a colon at the end of a statement. Each structural sentence in Python code ends with a colon. This also applies to function headers, where the colon causes subsequent lines within the function to be indented. This is a typical programming mistake made by new Python programmers. Simply drive this concept into your head until it becomes second nature: every structured phrase must conclude with a colon!

Inconsistency with parentheses or brackets
This is an all-too-common blunder made by new Python programmers. For a statement to be intelligible, the number of open and closed parenthesis and brackets must match. Make sure to double-check your code and make sure that each set of open parentheses or brackets has a corresponding set of closed parenthesis or brackets to complete the thought.