Utilizing PEP 8 Guidelines for Cleaner Python Code
A detailed guide on how to apply the PEP 8 style guide in your Python projects to ensure clean, consistent, and effective code writing.
0 likes
198 views
Rule Content
# Utilizing PEP 8 Guidelines for Cleaner Python Code
## Context
This rule applies to all Python projects to ensure code readability and maintainability by adhering to the PEP 8 style guide.
## Requirements
- **Code Layout**
- Use 4 spaces per indentation level.
- Limit all lines to a maximum of 79 characters.
- Separate top-level function and class definitions with two blank lines.
- Separate method definitions inside a class with a single blank line.
- Surround top-level function and class definitions with two blank lines.
- Use blank lines sparingly inside functions to indicate logical sections.
- **Imports**
- Place imports at the top of the file, after any module comments and docstrings.
- Group imports in the following order:
1. Standard library imports
2. Related third-party imports
3. Local application/library-specific imports
- Use absolute imports whenever possible.
- Avoid wildcard imports (`from module import *`).
- **Whitespace in Expressions and Statements**
- Avoid extraneous whitespace in the following situations:
- Immediately inside parentheses, brackets, or braces.
- Between a trailing comma and a following close parenthesis.
- Immediately before a comma, semicolon, or colon.
- Immediately before the open parenthesis that starts the argument list of a function call.
- Immediately before the open parenthesis that starts an indexing or slicing.
- More than one space around an assignment (or other) operator to align it with another.
- **Comments**
- Use comments to explain the reasoning behind code decisions.
- Write comments in complete sentences, capitalized and punctuated.
- Use inline comments sparingly and only when necessary.
- Place inline comments on the same line as the statement they refer to, separated by at least two spaces.
- **Naming Conventions**
- Use `snake_case` for function and variable names.
- Use `PascalCase` for class names.
- Use `UPPER_CASE` for constants.
- Avoid using names that are too general or too wordy.
- Use a single leading underscore to indicate a non-public method or variable.
- Use a double leading underscore to invoke name mangling.
- **Programming Recommendations**
- Use `is` for comparisons to `None`.
- Use `is not` for negative comparisons to `None`.
- Avoid using `==` to compare to `None`.
- Use `if not seq` to check for empty sequences.
- Use `if seq` to check for non-empty sequences.
- Avoid using `if len(seq) == 0` to check for empty sequences.
- Avoid using `if len(seq) > 0` to check for non-empty sequences.
## Examples
### Good Example
def calculate_area(width, height):
"""Calculate the area of a rectangle."""
return width * height
### Bad Example
def calculateArea( width, height ):
return width*height
## References
- PEP 8 – Style Guide for Python Code: https://peps.python.org/pep-0008/
- How to Write Beautiful Python Code With PEP 8: https://realpython.com/python-pep8/