PEP8规范总结

缩进

  • 不要使用 tab 缩进
  • 使用任何编辑器写 Python,请把一个 tab 展开为 4 个空格
  • 绝对不要混用 tab 和空格,否则容易出现 IndentationError

空格

  • 在 list, dict, tuple, set, 参数列表的 , 后面加一个空格
  • 在 dict 的 : 后面加一个空格
  • 在注释符号 # 后面加一个空格,但是 #!/usr/bin/python 的 # 后不能有空格
  • 操作符两端加一个空格,如 +, -, *, /, |, &, =
  • 接上一条,在参数列表里的 = 两端不需要空格
  • 括号((), {}, [])内的两端不需要空格

空行

  • function 和 class 顶上两个空行
  • class 的 method 之间一个空行
  • 函数内逻辑无关的段落之间空一行,不要过度使用空行
  • 不要把多个语句写在一行,然后用 ; 隔开
  • if/for/while 语句中,即使执行语句只有一句,也要另起一行

换行

每一行代码控制在 80 字符以内
使用 \ 或 () 控制换行,举例:

def foo(first, second, third, fourth, fifth,
        sixth, and_some_other_very_long_param):
    user = User.objects.filter_by(first=first, second=second, third=third) \
        .skip(100).limit(100) \
        .all()

text = ('Long strings can be made up '
        'of several shorter strings.')

import

  • 所有 import 尽量放在文件开头,在 docstring 下面,其他变量定义的上面
  • 不要使用 from foo imort *
  • import 需要分组,每组之间一个空行,每个分组内的顺序尽量采用字典序,分组顺序是:
  • 标准库
  • 第三方库
  • 本项目的 package 和 module
# bad
import sys, os, time

# good
import os
import sys
import time

# ok
from flask import Flask, render_template, jsonify

注释

文档字符串 docstring, 是 package, module, class, method, function 级别的注释,可以通过 doc 成员访问到,注释内容在一对 “”" 符号之间
function, method 的文档字符串应当描述其功能、输入参数、返回值,如果有复杂的算法和实现,也需要写清楚
不要写错误的注释,不要无谓的注释

# bad 无谓的注释
x = x + 1       # increase x by 1

# bad 错误的注释
x = x - 1       # increase x by 1 
1
2
3
4
5
优先使用英文写注释,英文不好全部写中文,否则更加看不懂
PEP8Python编码规范的官方指南,它旨在提供一种一致的编码风格,以促进代码的可读性和可维护性。它涵盖了代码布局、命名约定、注释、导入语句等方面的规范。 根据PEP8指南[2],以下是一些主要的编码规范要点: 1. 代码布局:使用4个空格作为缩进,不要使用制表符,并将每行代码的长度限制在79个字符以内。适当的缩进和代码对齐可以增强可读性。 2. 命名约定:变量和函数名应该用小写字母,单词之间使用下划线分隔,而不是驼峰命名法。类名应该使用驼峰命名法。 3. 注释:对于复杂的代码块或算法,请添加适当的注释来解释代码的目的和功能。注释应该以句号结尾,并且应该避免在代码中使用无意义或过多的注释。 4. 导入语句:每个导入应该独占一行,并按照标准库模块、第三方库模块和本地应用程序模块的顺序排列。每个模块导入应该写在文件的顶部,并且应该将标准库导入放在其他导入之前。 这只是PEP8指南的一小部分,你可以参考原文了解更多细节和规范。但是需要注意的是,根据中提到的几个理由,有时候可以忽略特定的规则。当遵循规范会降低代码可读性,与周围代码不一致,或需要兼容老版本Python时,可以考虑忽略某些规则。 总结答案: PEP8Python的编码规范指南,它包含了代码布局、命名约定、注释和导入语句等方面的规范。它帮助提高代码的可读性和可维护性,使得多人合作开发更加便利。你可以在PEP8的原文中找到更多详细的规范。不过,需要注意的是,有时候根据实际情况,可以忽略特定的规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值