A brief guide to Python programming best practices

Photo by Chris Ried on Unsplash

As a software developer, we should always strive to maintain good code quality by following best practices or standards. This is to ensure that the code delivered to solve a problem is readable and maintainable in the long run. To quote Guido van Rossum, “Code is read much more often than it is written.” which pretty much sums up a software developer’s day! 😄

Here, I will try to summarize some of the practices which I have learnt & followed while working with Python programming language

One of the utmost important thing in any programming language is naming. From naming variable, methods and pretty much everything, It sometimes takes a good amount of time just to come up with a good name!

Naming conventions (PEP-8)

  1. Variables, functions, methods, packages, modules: this_is_a_variable (Snake-case)
  2. Classes and exceptions: CapWords (Pascal case)
  3. Protected methods and internal functions: _single_leading_underscore
  4. Private methods: __double_leading_underscore
  5. Constants: CAPS_WITH_UNDERSCORES (All caps)

General best practices

  1. Maintain all dependencies in requirement.txt file for the lambda
  2. Maintain all constants in constants.py file for the lambda
  3. Null check before accessing values and Checking against None (very important). For e.g.
bad practice:
if data["state"] == "fixed":
good practice:
if data and data["state"] == "fixed":

4. Method annotation with expected return type to enforce types. For e.g.

def circumference(radius: float) -> float:

5. Do not use hard-coded strings.use constants instead.

bad practice:
"google.com" in link:
good practice:
google_link in link:

6. Avoid using messy nested if-else. Use switcher instead if possible.

7. Use constants or enums in-place of magic numbers.

8. Never Ignore the Exceptions you catch! Errors should never pass silently.

bad practice:
catch Exception as ex:

9. Cache/Store frequently used values.

10. Use conditional checks to check against whitelist of conditions.

11. Document __init__ methods in the doc-string for the class.

12. Use getters and setters instead of directly accessing globals and privates

>>> class C:
… def x(self):
… return self.__x
… def x(self, value):
… self.__x = value

13. Use String interpolation or String Templating library to avoid security issues.

14. use ‘in’ and == cautiously for string comparisons.

15. For Reading and Writing to a File, Use With Statement Context Managers as it manages the closing the file handle for you.

These are just some of the practices and there are so much more, if you want to learn more then I recommend to go through the PEP-8 styling guide mentioned in the good reads below. Hope you find this article helpful. Thanks for reading! 😃

Some other good reads -




Software developer

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Updates: Week 15

Building a URL Shortener Web App using Minimal APIs in .NET 6

Make your Windows 10 faster with these 32 Tips

Python Scrapy tutorial for beginners — 04 — Crawler, Rules and LinkExtractor

Grid vs Flexbox: Which one is better?

Android Wear. Shared storage for smartwatch and the phone

Monitor spring boot app using Spring Boot Admin.

Google recommended security IAM practice on GKE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Tauseef Malik

Tauseef Malik

Software developer

More from Medium

Best module for python developer.

The dangers of mutability in Python