Python Naming Conventions: Best Practices for Readable and Elegant Code

Enhance Readability and Maintainability with Proper Naming Conventions

black framed eyeglasses on computer screen
Photo by Alex Chumak on Unsplash

Key Takeaways:

  • Python naming conventions are essential for keeping code readable and maintainable.
  • Understanding the different naming options and their use cases is crucial for creating meaningful objects in your code.
  • Avoiding certain naming conventions and using representative names can improve code clarity.
  • Modules, packages, variables, and functions should follow specific naming conventions.
  • Adopting best practices in naming conventions demonstrates coding proficiency and professionalism.


When it comes to writing Python code, following best practices in naming conventions is vital for creating readable and maintainable code. Good naming conventions not only benefit yourself but also anyone who reads or uses your code. In this article, we will explore the best naming conventions in Python and provide examples and guidelines to help you write elegant and professional code.

Basic Naming Conventions

Python offers various options for naming objects, and each option has different use cases. Let’s examine the most common naming conventions:

1. Single lowercase

This convention is often used for local variables in functions, such as x or i. It is suitable for short-lived variables within a specific scope.

2. Single uppercase

Single uppercase names, like those used to name matrices, are suitable for objects that represent significant entities or collections of data.

3. Lowercase word

The most frequent naming convention in Python, this option is suitable for a wide variety of objects. It provides a clear and readable representation of the object’s purpose or content.

4. Lowercase word with underscores

Similar to the lowercase word convention, this option is used for more complicated names. The underscores improve readability by separating multiple words.

5. Uppercase word

Uppercase word names are typically used for single-word static variables. They stand out and indicate that the variable has a special significance.

6. Uppercase word with underscores

This convention is used for multi-word static variables. By separating words with underscores, it enhances clarity and makes the variable more descriptive.

7. Capitalized words (CamelCase)

In CamelCase, each word is capitalized, and there are no spaces or underscores between them. This convention is commonly used for naming classes, even if the class name consists of a single, capitalized word.

8. Mixed Case

Mixed Case convention, where a lowercase word is followed by every other word capitalized, is more prevalent in Java but less common in Python. It is still suitable for specific use cases and improves code readability.

Each of these naming conventions has its own purpose and helps you create meaningful objects in your code. Consider the context and purpose of your code to choose the most appropriate naming convention.

Names to Avoid

While there are recommended naming conventions, it’s equally important to know what to avoid. Here are some conventions you should steer clear of when writing Python code:

  • Avoid using lowercase letter “el” ( l) as it can be indistinguishable from the number “1”. To ensure clarity, use a capital letter “L” instead.
  • Avoid using uppercase letter “oh” (O) as it can be indistinguishable from the number “0”. Use a lowercase “o” instead.
  • Avoid using uppercase letter “eye” (I) as it can be indistinguishable from the number “1”. Choose a different character or word.

By avoiding these names, you eliminate confusion and improve code readability for yourself and others.

Modules and Packages

In Python, modules are collections of pre-built functions and objects used to perform specific tasks. When naming modules, it is recommended to use short, lowercase names. If necessary, you can use underscores to improve readability, especially for names with multiple words.

Packages, on the other hand, are like directories that contain modules and other objects. When naming packages, it’s best to follow the same conventions as modules. However, the use of underscores in package names is discouraged to maintain consistency and simplicity.

Variables and Functions

In Python, it’s important to understand the difference between variables and functions. Variables store data, while functions perform actions and return values. Additionally, there is a distinction between regular functions and methods.

Regular functions can be defined outside of classes and are accessible globally. They follow the same naming conventions as variables. Here are a few best practices for naming variables and functions:

  • Use lowercase letters for both variables and functions.
  • When needed, separate multiple words with underscores for better readability.
  • Choose names that accurately represent the meaning and purpose of the object, avoiding meaningless or single-character names.
  • Reserve the names i, j, and k for representing index values.

Method names, which belong to classes, should also follow the same conventions as function and variable names. By adhering to these guidelines, you enhance the organization and readability of your code.


Understanding and applying proper naming conventions in Python is crucial for writing readable and elegant code. By adopting the recommended naming conventions, you can enhance code clarity, maintainability, and professionalism. Remember to choose naming conventions that align with the purpose and context of your code, and avoid names that can lead to confusion. With these best practices, you’ll impress your colleagues and potential employers with your coding skills and habits.

Ready to enhance your Python programming skills? Check out our comprehensive three-course program dedicated to building and advancing your Python proficiency. You can also explore our upcoming remote live and online bootcamps this Winter, taking your first steps towards mastering data science.

Written by Martin Cole

worm's eye-view photography of ceiling

Data Mining Techniques: Uncovering Patterns and Extracting Insights

black and silver laptop computer on table

Python Naming Conventions: Best Practices for Readable and Elegant Code