Python code style is essential for writing clean, readable, and maintainable code. The PEP 8 (Python Enhancement Proposal 8) is the official style guide for Python. Following PEP 8 helps create a consistent coding style across different projects and makes it easier for developers to collaborate. Here are some key points from PEP 8:
1. Indentation:
- Use 4 spaces per indentation level.
- Avoid using tabs for indentation.
2. Maximum Line Length:
- Limit all lines to a maximum of 79 characters for code and 72 for docstrings and comments.
- Use parentheses for line continuation when necessary.
3. Imports:
- Import standard libraries first, followed by third-party libraries, and then your own modules.
- Use separate lines for each import.
- Avoid wildcard imports (
from module import *
).
4. 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.
5. Comments:
- Use inline comments sparingly.
- Write docstrings for all public modules, functions, classes, and methods.
- Comments should be complete sentences and should be used when necessary to explain complex parts of the code.
6. Naming Conventions:
- Use descriptive names for variables, functions, and classes.
- Use lowercase with underscores for function and variable names (
snake_case
). - Use uppercase for constants (
ALL_CAPS
). - Use CapWords (also known as CamelCase) for class names.
7. 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.
8. String Quotes:
- Use single quotes for string literals unless a string contains a single quote.
- Triple-quoted strings are used for docstrings and multiline strings.
9. Whitespace Between Functions and Classes:
- Use two blank lines to separate functions and classes in a module.
10. Shebang Line:
- For scripts, use
#!/usr/bin/env python3
as the shebang line.
11. Function and Method Arguments:
- Avoid using mutable default arguments.
- Use the
*args
and**kwargs
syntax for variable-length argument lists.
12. Programming Recommendations:
- Use built-in functions and libraries whenever possible.
- Write small functions that do one thing and do it well.
13. Exception Handling:
- Use specific exceptions when possible instead of catching generic exceptions.
- Avoid using a bare
except:
clause.
14. Annotations:
- Use type hints and annotations to indicate the expected types of variables, function arguments, and return values.
Tools for Enforcing Style:
- linters: Use tools like
flake8
orpylint
to automatically check your code against PEP 8. - formatters: Tools like
black
can automatically format your code to comply with PEP 8. - IDE Integration: Many integrated development environments (IDEs) have built-in support for PEP 8 style checking and formatting.
Adhering to a consistent code style enhances code readability, makes collaboration smoother, and contributes to overall code quality.