Pep8 Tutorial – Complete Guide

Welcome to this interactive tutorial for PEP8 – the official style guide for Python! By the end of this read, you’ll have a concrete understanding of why adhering to a coding standard like PEP8 is fundamental and how it can help you become a better coder.

What is PEP8?

PEP8 is the Python Enhancement Proposal 8. It’s not just a set of rules, but a blueprint for Pythonic code – code that not only works but is also clean, efficient and readable. Learning PEP8 places you in touch with the Python community’s programming principles and best practices.

PEP8 serves to make your code much more organized, easier to understand and troubleshoot. It results in code that is consistent across different projects and developers, improving collaboration and productivity.

Why Should I Learn it?

PEP8 is Python’s lingua franca, widely adopted by the global Python community. Approaching your code with PEP8 in mind cultivates good habits that lead to better code quality, easier debugging, and seamless collaboration.

The beauty of it lies not merely in debugging or readability, but in introducing you to a thought process where you view code as a form of communication. You’re not only coding for the machine to understand but also for other developers who may contribute to or make use of your code. Embracing PEP8 is a significant step towards professional Python development.

Stay tuned for our examples exploring PEP8 in later sections!

CTA Small Image

PEP8 Basics: Code Layout

Let’s delve into some of the fundamental guidelines in PEP8 pertaining to code layout. From indentation to line length, these standards ensure that your code is visually clean and easy to read.


In PEP8, spaces are preferred over tabs for indentation. It recommends a 4-space indentation for every block of statement.

def greet(name):
    print(f"Hello, {name}!")

In the above example, the print statement is indented using 4 spaces, which adheres to PEP8 guidelines.

Maximum Line Length

PEP8 suggests that each line of code should not exceed 79 characters. This limit aids in enhancing readability, especially when you’re working with multiple files on a split-screen.

# This line obeys the 79 character rule
print("This is a sentence constructed to fit within PEP8's 79 character limit.")

In the above example, the print statement including the comment at the start doesn’t exceed the 79 character limit, thereby complying with PEP8.

PEP8 Basics: Naming Conventions

The way you name your variables, functions, classes, modules matter. PEP8 guidelines help you in building an intelligible structure with your naming conventions.

Variables and Function Names

PEP8 recommends lowercase letters with underscores to separate words for both variables and function names. This is known as snake_case.

# Variable
my_variable = "Hello World!"
# Function
def my_function():

Class Names

For class names, PEP8 advises using CapWords or CamelCase convention.

class MyClass:

Following these conventions provides a structural uniformity to your code and makes it instantly recognizable for others in the Python community.

PEP8 Basics: Whitespace

The use of whitespace is another dimension in the PEP8 guidelines. Precise and judicious use of whitespace can drastically enhance your code’s readability.

Spaces Around Operators and After Commas

PEP8 recommends using spaces around operators and after commas to improve clarity.

# With spaces around operators
sum = 3 + 2

# With space after comma
my_list = [1, 2, 3]

The above examples follow PEP8’s whitespace conventions, making the code easy on the eyes and quickly understandable.
Remember, PEP8 is a flexible guide, you are free to deviate where it makes sense for clarity, readability or team conventions. It’s a tool to write cleaner, more Pythonic code.

PEP8 Basics: Commenting

Comments are an integral part of the codebase, providing important information to the reader. The PEP8 style guide recommends a specific way to write comments to make them more understandable and beneficial.

Inline Comments

An inline comment is a comment on the same line as a statement. PEP8 recommends using two spaces before the # symbol and a space after it.

x = 5  # This is an inline comment

Block Comments

Block comments appear on the lines before the code they describe and should be separated by a # and a single space.

# This is a block comment.
# It can span multiple lines.
x = 5

Document String or Docstrings

Docstrings provide a convenient way to associate documentation with Python modules, functions, classes, and methods. They must be written for all public modules, functions, classes, and methods and should follow a triple double-quote (“””) syntax.

def add_numbers(x, y):
    This is a docstring. It is used to describe what the function does.
    In this case, the function adds two numbers.
    return x + y

PEP8 Basics: Imports

PEP8 has specific recommendations for import statements to prevent naming conflicts and improve code readability.

Import Statements

Imports should usually be placed at the top of the file, separated from other code sections with a blank line. Each import statement should be on a separate line.

import os
import sys

Import Grouping

PEP8 recommends imports should be grouped in the following order:

  • Standard library imports.
  • Related third party imports.
  • Local application/library specific imports.

You should put a blank line between each group of imports.

import os  # Standard library import
import pandas  # Related third party import

import my_module  # Local application import

Where to Go Next?

Well, the journey through the realm of Python continues! The ocean of Python programming is vast and splendid with countless treasures to explore. As Python developers, we should strive to stay updated with its trends, innovations and best practices.

One powerful way to propel your Python journey forward is to invest in organized learning. Whether you’re a beginner or an experienced Python enthusiast looking to solidify your knowledge, a well-structured and comprehensive course can markedly boost your learning pace and depth.

Our Python Mini-Degree embodies this commitment, offering a thorough exploration of Python programming. The Python Mini-Degree is a sweeping collection of courses crafted by competent instructors. From coding fundamentals, algorithms, to object-oriented programming, game development, and app development, we’ve got it all covered. The curriculum is versatile, catering to both beginners and experienced learners.

The courses in the Mini-Degree are rich with interactive lessons, quizzes, and coding challenges. By engaging in step-by-step projects, you’ll get hands-on experience in creating your own games, algorithms, and real-world apps; thereby curating an impressive portfolio of Python projects.

If you are someone who’s passionate about Python and eager to upskill your Python programming journey, our Python courses offer a broader collection tailored for every level of expertise.


Python is a powerful language with a vast community and an impressive array of applications. Observing Python’s coding guidelines can dramatically bolster your coding skills, enabling you to create code that’s readable, maintainable, and efficient.

The key lies in continual learning and practice. Our Python Mini-Degree is tailored to support and enrich your Python journey at every step. Together with Zenva, let’s embark on a fascinating expedition through the expansive lands of Python programming. The world of Python awaits you!

Did you come across any errors in this tutorial? Please let us know by completing this form and we’ll look into it!

Python Blog Image

FINAL DAYS: Unlock coding courses in Unity, Godot, Unreal, Python and more.