PEP 8 是 Python 编码的风格指南,旨在帮助编写易读、易维护的代码。以下是 PEP 8 的一些核心要点,分门别类进行总结:
1、缩进
- 使用 4 个空格 作为缩进(而不是 Tab 键)。
# 正确
def example_function(arg1, arg2):
if arg1:
print(arg2)
# 错误(混用空格和 Tab 会导致错误)
def example_function(arg1, arg2):
if arg1: # 使用了 Tab
print(arg2) # 使用了 4 个空格
2. 行宽
- 单行代码最多 79 个字符。
- 如果注释或文档字符串过长,可以扩展到 72 个字符。
- 长表达式可通过 反斜杠
\
或 括号包裹 换行。
# 正确:换行用括号包裹
result = (first_variable + second_variable +
third_variable - fourth_variable)
# 正确:换行用\包裹
result = first_variable + second_variable + \
third_variable + fourth_variable
# 错误:一行太长
result = first_variable + second_variable + third_variable - fourth_variable + another_variable
3. 空行
- 模块级函数和类之间使用两个空行。
- 类中的方法之间使用一个空行。
# 正确
class MyClass:
def method_one(self):
pass
def method_two(self):
pass
# 错误(方法之间没有空行)
class MyClass:
def method_one(self):
pass
def method_two(self):
pass
4. 导入
- 导入语句应放在文件的开头。
- 按以下顺序组织导入:
- 标准库导入
- 第三方库导入
- 本地应用/库的导入
- 每组导入之间留一个空行。
import os
import sys
import numpy as np
import pandas as pd
from myproject import mymodule
5、空格的使用
- 在二元运算符两侧加空格,例如 =、+、-、*、/ 等。
- 不要在括号内侧或函数调用参数周围添加空格。
# 正确
x = 1 + 2
y = (x + 3) * 4
# 错误(空格使用不规范)
x=1+2 # 没有空格
y = ( x + 3 ) * 4 # 括号内多余空格
函数参数和括号之间不要有空格。
# 正确
def my_function(arg1, arg2):
return arg1 + arg2
# 错误
def my_function( arg1 , arg2 ): # 参数之间多余空格
return arg1+arg2 # 缺少空格
6、命名规范
变量名、函数名:采用小写字母,单词之间用下划线分隔(snake_case
)。
variable_name = 10
def function_name():
pass
类名:采用首字母大写的驼峰命名法(PascalCase
)。
class MyClass:
pass
常量名:使用全大写字母,单词用下划线分隔。
MAX_COUNT = 100
7、文档字符串和注释
- 使用
#
添加注释,注释应和代码对齐,并留一个空格。 - 文档字符串使用三引号
"""
,描述类、函数或模块的作用。
# 正确
x = 10 # 初始化变量 x
def add_numbers(a, b):
"""返回两个数的和"""
return a + b
# 错误
x = 10#初始化变量 x # 缺少空格
def add_numbers(a, b): #返回两个数的和 # 应该用文档字符串
return a + b
8、避免使用不推荐的语法
- 判断是否为
None
,使用is
或is not
,而不是==
或!=
- 使用
if not x
代替if x == False
。
# 正确
if x is None:
pass
if not x:
pass
# 错误
if x == None: # 不推荐
pass
if x == False: # 不推荐
pass
9、文件编码
Python 文件应使用 UTF-8 编码,在文件顶部显式声明。
# -*- coding: utf-8 -*-
10、其他
不要将多个语句写在一行中。长表达式可以使用括号分行。
# 正确
result = (first_variable +
second_variable +
third_variable)
# 错误
result = first_variable + second_variable + third_variable; another_variable = 10
发布者:LJH,转发请注明出处:https://www.ljh.cool/42157.html