进阶10:PEP 8 Python 编码的风格指南

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. 导入

  • 导入语句应放在文件的开头。
  • 按以下顺序组织导入:
    1. 标准库导入
    2. 第三方库导入
    3. 本地应用/库的导入
  • 每组导入之间留一个空行。
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,使用 isis 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

(0)
上一篇 2024年12月3日 下午5:03
下一篇 6天前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注