首页 > 编程语言 >python代码编写---PEP8规范

python代码编写---PEP8规范

时间:2022-09-24 22:13:03浏览次数:55  
标签:空行 空格 缩进 do python PEP8 --- Python 代码

PEP8规范---Style Guide for Python Code

PEP8 简介

1. PEP是 Python Enhancement Proposal 的缩写,通常翻译为:Python增强提案   enhance 增强改善(V)  Proposal 提议建议(n)
2. 每个PEP都是一份为Python社区提供的指导Python往更好的方向发展的技术文档,其中的第8号增强提案(PEP 8)是针对Python语言编订的代码风格指南。
3. 尽管我们可以在保证语法没有问题的前提下随意书写Python代码,但是在实际开发中,采用一致的风格书写出可读性强的代码是每个专业的程序员应该做到的事情,也是每个公司的编程规范中会提出的要求,这些在多人协作开发一个项目(团队开发)的时候显得尤为重要。

一 缩进与对齐 Indentation and

空格的使用 Spaces

1. 使用空格而不是tab键来缩进。(空格是首选的缩进方式。制表符Tab只能用于与同样使用制表符缩进的代码保持一致。)
2. 和语法相关的每一层缩进都用4个空格来表示。
3. 在 list  dict  tuple  set  参数列表的,后面加一个空格。
4. 括号(), {}, [] 内的两端不需要空格。
5. 在注释符号 # 后面加一个空格 ,行内注释 #号要与代码至少两个空格分隔。
6. 避免使用无关的空格:
  6.1 小括号,中括号或者大括号里面与数据间不要有空格。
      比如不要出现这种( aaaa ),应是这样(aaa)

  6.2 逗号,分号;或者冒号: 之前不要有空格。
      比如 不要这样  if x == 4 : print x , y ; x , y = y , x
           应该这样  if x == 4: print x, y; x, y = y, x

  6.3 函数参数的左括号之前不要有空格。
           不要这样spam (1)
           应该这样spam(1)
7. 一般在使用到 +号 —号 =号 时两边各加一个空格,特殊情况除外。
8. 函数和类的定义,代码前后都要用两个空行进行分隔。
9. 在同一个类中,各个方法之间应该用一个空行进行分隔。

行的最大长度 Maximum Line Length

1. 每行代码应尽量的少于79个字符,,文档和注释限制在72个字符

长表达式换行

1. 一个长表达式被分成多行表示的时候要添加额外的4个空格来保持缩进的美观。
2. 通过小括号内表达式的换行方式将长串折成多行。这种方式应该优先使用,而不是使用反斜杠续行。
3. 代码换行时应该优先使用圆括号、方括号和花括号中的隐式续行。
4. 在二元运算法的换行时,推荐以二元运算符作为新行的开始。

二 空行 Blank Lines

1. 即使是简单的语句,即使可以使用分号,不推荐写在同一行,比如简单的if/for/while语句也应该分行写。
2. 不要把多个语句写在一行,然后用 ; 隔开。
      最好如下这样
if foo == 'blah':
do_blah_thing()
do_one()
do_two()
do_three()

     不要如下这样
if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()

3. 函数内逻辑无关的段落之间空一行,不要过度使用空行
4. function 和 class 顶上两个空行
5. class 的 method 之间一个空行

三 导入 Imports

1. 导入顺序:首应该是标准库,第三方库,以及本地模块,且需要加空行分隔。

标识符命名

1. 变量、函数和属性应该使用小写字母来拼写,如果有多个单词就使用下划线进行连接。
2. 常量通常定义在模块级,通过下划线分隔的全大写字母命名。例如: MAX_OVERFLOW 和 TOTAL  

表达式和语句

。。。。。。

标签:空行,空格,缩进,do,python,PEP8,---,Python,代码
From: https://www.cnblogs.com/tengyifan888/p/16726793.html

相关文章

  • Python 判断字符串是否包含中文
    一、原理中文字符的编码范围是:\u4e00-\u9fff只要编码在此范围就可判断为中文字符 二、函数defis_chinese(self,string):"""检查整个字符串是否包......
  • Python常用标准库之os
    模块导入方式:importosos模块是Python标准库中的一个用于访问操作系统相关功能的模块,os模块提供了一种可移植的使用操作系统功能的方法。使用os模块中提供的接口,可以实现......
  • 组合测试术语:Pairwise/All-Pairs、OATS(Orthogonal Array Testing Strategy)
    组合测试组合测试(CombinatorialTest)是一种黑盒测试用例生成方法,主要针对多输入参数组合场景。目前业界较流行的两种组合测试方法,一种是Pairwise/All-Pairs,即配对组合。OA......
  • 20220924--CSP-S模拟10
    A.欧几里得的噩梦首先发现第一问所询问的异或值数量就是所求的第二问的最小集合的元素个数次方因为除去集合里的任一一个元素,其中若干个元素异或之后的集合就不可能为原......
  • Typescript类型体操 - FlattenDepth
    题目中文递归将数组展开到指定的深度示例:typea=FlattenDepth<[1,2,[3,4],[[[5]]]],2>;//[1,2,3,4,[5]].flattern2timestypeb=FlattenDepth<[1,......
  • 2022-2023-1 20221422 《计算机基础与程序设计》第四周学习总结
    作业信息班级链接https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04作业目标门电路组合电路,逻......
  • drf学习-1
      前后端开发模式在开发Web应用中,有两种应用模式:前后端混合开发和前后端分离:一、前后端混合开发   曾经写过的图书管理系统、BBS项目后端人员需要通过前端写好......
  • Python 模型超参数调优
    Python模型超参数调优1.导读本文将对超参数进行简要的解释,并推荐一本利用Python进行超参数调整的书籍,其中包含了许多超参数调整方法。2.超参数在机器学习的上下文中......
  • 模式识别学习笔记-lecture3-判别函数1
    线性判别函数模式识别系统的主要作用:判别各个模式(样本)所属的类别用判别函数分类的概念判别函数进行分类依赖的因素:判别函数的几何性质:线性的和非线性的函数判别函......
  • Python cv2(Opencv) 图像运算
    OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效,由一系列C函数和少......