首页 > 编程语言 >【python】PEP8规范

【python】PEP8规范

时间:2023-01-12 13:12:01浏览次数:40  
标签:缩进 Python python 代码 PEP 规范 PEP8 模块

目录:

  1. PEP8规范是什么?
  2. PEP8规范相关内容

一、PEP8规范是什么?

​PEP是Python Enhancement Proposal的缩写,通常翻译为“Python增强提案”。

​每个PEP都是一份为Python社区提供的指导Python往更好的方向发展的技术文档,其中的第8号增强提案(PEP 8)是针对Python语言编订的代码风格指南。

​ 尽管我们可以在保证语法没有问题的前提下随意书写Python代码,但是在实际开发中,采用一致的风格书写出可读性强的代码是每个专业的程序员应该做到的事情,也是每个公司的编程规范中会提出的要求,这些在多人协作开发一个项目(团队开发)的时候显得尤为重要。

二、PEP8规范相关内容

​我们可以从Python官方网站的PEP 8链接中找到该文档,下面我们对该文档的关键部分做一个简单的总结。

2.1 空格的使用

#1、使用空格来表示缩进而不要用制表符(Tab)。这一点对习惯了其他编程语言的人来说简直觉得不可理喻,因为绝大多数的程序员都会用Tab来表示缩进,但是要知道Python并没有像C/C++或Java那样的用花括号来构造一个代码块的语法,在Python中分支和循环结构都使用缩进来表示哪些代码属于同一个级别,鉴于此Python代码对缩进以及缩进宽度的依赖比其他很多语言都强得多。在不同的编辑器中,Tab的宽度可能是2、4或8个字符,甚至是其他更离谱的值,用Tab来表示缩进对Python代码来说可能是一场灾难。

#2、和语法相关的每一层缩进都用4个空格来表示。

#3、每行的字符数不要超过79个字符,如果表达式因太长而占据了多行,除了首行之外的其余各行都应该在正常的缩进宽度上再加上4个空格。

#4、函数和类的定义,代码前后都要用两个空行进行分隔。

#5、在同一个类中,各个方法之间应该用一个空行进行分隔。

#6、二元运算符的左右两侧应该保留一个空格,而且只要一个空格就好。

2.2 标识符命名

​ PEP 8倡导用不同的命名风格来命名Python中不同的标识符,以便在阅读代码时能够通过标识符的名称来确定该标识符在Python中扮演了怎样的角色(在这一点上,Python自己的内置模块以及某些第三方模块都做得并不是很好)。

#1、变量、函数和属性应该使用小写字母来拼写,如果有多个单词就使用下划线进行连接。

#2、类中受保护的实例属性,应该以一个下划线开头。

#3、类中私有的实例属性,应该以两个下划线开头。

#4、类和异常的命名,应该每个单词首字母大写。

#5、模块级别的常量,应该采用全大写字母,如果有多个单词就用下划线进行连接。

#6、类的实例方法,应该把第一个参数命名为self以表示对象自身。

#7、类的类方法,应该把第一个参数命名为cls以表示该类自身。

2.3 表达式和语句

​ 在Python之禅(可以使用import this查看)中有这么一句名言:“There should be one-- and preferably only one --obvious way to do it.”,翻译成中文是“做一件事应该有而且最好只有一种确切的做法”,这句话传达的思想在PEP 8中也是无处不在的。

#1、采用内联形式的否定词,而不要把否定词放在整个表达式的前面。例如if a is not b就比if not a is b更容易让人理解。

#2、不要用检查长度的方式来判断字符串、列表等是否为None或者没有元素,应该用if not x这样的写法来检查它。

#3、就算if分支、for循环、except异常捕获等中只有一行代码,也不要将代码和if、for、except等写在一起,分开写才会让代码更清晰。

#4、import语句总是放在文件开头的地方。

#5、引入模块的时候,from math import sqrt比import math更好。

#6、如果有多个import语句,应该将其分为三部分,从上到下分别是Python标准模块、第三方模块和自定义模块,每个部分内部应该按照模块名称的字母表顺序来排列。

标签:缩进,Python,python,代码,PEP,规范,PEP8,模块
From: https://www.cnblogs.com/blanset/p/17046348.html

相关文章

  • 如何手动安装python模块包package
    我们不用CdC:\Users\xxx.xx\AppData\Local\Programs\Python\Python311Python-mpipinstallopenpyxl的方法。解答:下载包解压后,放到python安装目录Lib底下site-packag......
  • python支付宝支付
    支付宝开放平台:https://open.alipay.com/platform/home.htm支付宝沙箱环境:https://openhome.alipay.com/platform/appDaily.htm?tab=info支付宝开发者文档:https://ope......
  • python:海量数据集分页优化
    学过Django框架的同学,一定都使用过Django框架的Paginator分页功能,今天我们要讨论的是关于使用Paginator进行大数据集分页时,它性能的优化问题。Paginator分页下面步入正题,首......
  • python:栈的理解与应用
    如何理解“栈”?关于“栈”,我有一个非常贴切的例子,就是一摞叠在一起的盘子。我们平时放盘子的时候,都是从下往上一个一个放;取的时候,我们也是从上往下一个一个地依次取,不能从中......
  • Python:类
    太久没写Python的程序了类的内容忘记了,这里写下回忆一下1Python-类属性类有一个特殊的方法叫做构造函数,用作定义实例对象的属性,其必须被命名为__innit__()(注意其前后......
  • Python-wxauto自动发送消息或文件
    1、安装wxauto和pyautogui库,pip安装即可。pipinstallwxautopipinstallpyautogui2、登录微信 3、编写代码importtimefromwxautoimportWeChatimportpya......
  • 用python虚拟环境安装jupyter notebook
    一、安装python虚拟环境以及在虚拟环境中安装jupyter1、创建python虚拟环境,命名为py_venv-onepython-m-venvpy_venv-one2、进入并激活虚拟环境进入Scripts文件夹ac......
  • Python 包离线使用
    导出本地依赖的所有包,并下载到packages目录下piplistpipfreeze>requirements.txtpipdownload-dpackages-rrequirements.txt将packages文件夹和requireme......
  • python--操作excel表格,openpyxl模块
    简介openpyxl是一个非常强大的读写Excel2010xlsx/xlsm/xltx/xltm的Python库,简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有官方......
  • python false和False
    true=Falsedefwazzup():"""假亦真时真亦假"""false=TrueorFalsedeftrue():nonlocalfals......