PEP代码规范

1 当一个判断条件太长以致于要换行的时候,可以使用()将他们括起来,更好的可读性。()会隐式的将他们连接起来

  • if 'a' == 'bba' and 'b' in ['bb','sds'] and isinstance('c',str) or a+b <= 10:print('sss')
    # 可以改写为以下代码
    if ('a' == 'bba' and 'b' in ['bb','sds'] and isinstance('c',str) or a+b <= 10):print('sss')
    

2 注释不需要强行对齐,因为这会增加维护的难度

3 代码注释不需要描述代码,只需要说代码大概是干嘛的

4 如果一个类不继承其他类,就显式的从object继承

  • 继承自object是为了使属性(properties)正常工作,可以保护代码

5 对于字符串的累加,避免在循环中使用 ++= 进行字符串累加

  • 由于字符串是不可变的,这样做会创建不必要的临时对象,并且导致二次方而不是线性的运行时间。

  • 作为替代方案,可以将每个字符串加入列表,然后再循环结束后用join()连接列表,也可以将每个字符串写入一个cStringIO.StringIO缓存中

  • Yes

    • item = ['<table>']
      for last_name, first_name in employee_list:items.append('<tr><td>%s, %s</td></tr>' % (last_name, first_name))
      item.append('</table>')
      employee_table = ''.join(items)
      
  • No

    • employee_table = '<table>'
      for last_name, first_name in employee_list:employee_table += '<tr><td>%s, %s</td></tr>' %(last_name, first_name)
      emplyee_table += '</table>'
      

6 文件和sockets

  • 1在文件和sockets结束时,显示的关闭它
  • 使用with语句以管理文件,会调用类中的__enter__()__exit__()方法。
    • 对于不支持使用with语句的类似文件的对象,使用contextlib.closing()语句

7 TODO注释

为了更好的记录临时代码,以及为了将来更好的找到哪些代码被标记了待处理,可以使用以下格式进行记录

可以添加邮箱、姓名、以及日期,为了更好的检索

# TODO(dujuntong33@163.com):这行代码有xx问题,还有什么xx问题没有处理 # TODO(dujuntong):xxxx #TODO(2021年4月解决)

8 导入格式

每个导入应该独占一行

Yes:import osimport sys
No:import os,sys

导入应该按照从最通用到最不通用的顺序分组

  • 1 标准库导入
  • 2 第三方库导入
  • 3 应用程序指定导入

9 命名规范

Type Public Internal
Modules lower_with_under _lower_with_under
Packages lower_with_under
Classed CapWords _CapWords
Exceptions CapWords
Functions lower_with_under() _lower_with_under()
Global/Class Constants CAPS_WITH_UNDER _CAPS_WITH_UNDER
Global/Class Variables lower_with_under _lower_with_under
Instance Variables lower_with_under _lower_with_under(protected) or __lower_with_under(private)
Method Names lower_with_under() _lower_with_under()(protected) or __lower_with_under()(private)
Function/Method Parameters lower_with_under
Local Variables lower_with_under
  • 使用下划线(_)开头表示模块变量或函数是protected的(使用import * from 时不包含)
  • 双下划线(__)开头的实例变量或方法表示类内私有

10 Main

  • 代码应该在执行主程序前总是检查if __name__ == '__main__',这样当模块被导入时主程序就不会被执行

  • def main():...if __name__ == '__main__':main()
    

PEP代码规范简单总结相关推荐

  1. python代码规范工具_Python代码规范Flake8的简单示例

    这篇文章主要为大家详细介绍了Python代码规范Flake8的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

  2. PEP 8 -- Style Guide for Python Code。Python 代码规范。

    PEP 8 – Style Guide for Python Code 文章目录 PEP 8 -- Style Guide for Python Code 代码规范. PEP8 (pycodestyl ...

  3. Python基础day01【软件安装、变量的定义和使用、数据类型、标识符和关键字、输入输出、数据类型转换、运算符、PEP 8 规范】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员]      学习目标: 能够说出计算机有哪两部分组成 能够说出操作系统的作用 能够说出编程语言的作用 ...

  4. 你写的Python代码规范吗?

    总第141篇/张俊红 1.什么是PEP8 PEP 是 Python Enhancement Proposals 的缩写,直译过来就是「Python增强建议书」也可叫做「Python改进建议书」,说的直 ...

  5. Python学习22:Python之禅和PEP 8规范

    笔者:风起怨江南 出处:https://blog.csdn.net/JackMengJin 笔者原创,文章转载需注明,如果喜欢请点赞+关注,感谢支持! 导读:Python之禅和PEP 8规范,值得所有 ...

  6. 走进PEP8——代码规范

    最近一直在强调代码规范,但是有很多朋友不太清楚,我到底要怎么抒写代码,才算是规范呢? 所以,老Amy就在考虑,好记性不如烂笔头,反复强调不如一篇文章反复查阅.hhhh~ 那什么是代码规范呢?代码规范也 ...

  7. Python之代码规范管理工具(pylint、black)

    参考链接 在之前<使代码整洁的几种规范>文章中,介绍了比较常用的变量.函数等定义方法,本文专门针对 python 的代码风格进行介绍,主要用到两个超牛的工具 pylink 和 black, ...

  8. Python 代码规范

    前言 Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯 目录 Python代码规范 一.简明概述 1.编码 如无特殊情况, 文件一律使用 U ...

  9. php团队规范,简单的PHP团队编程规范与习惯

    简单的PHP团队编程规范与习惯 2年前 阅读 3259 评论 0 喜欢 1 ####1.PHP 编程规范与编码习惯最主要的有以下几点: 1.文件说明 2.Function 函数体说明 3.代码缩进 4 ...

最新文章

  1. Java基础教程——包装类
  2. python生成器使用场景桌面_Python – 如何更简洁地使用生成器?
  3. .NET Core使用gRPC打造服务间通信基础设施
  4. Flutter实战视频-移动电商-45.详细页_说明区域UI编写
  5. Asp.Net防止刷新重复提交数据的办法
  6. git生成SSH密钥提示ssh文件不存在-已解决
  7. 【李宏毅2020 ML/DL】P67-72 Anomaly Detection
  8. 30个超实用Python代码片段
  9. mbstring未安装
  10. 自动控制原理第七版胡寿松pdf_自动控制原理简明笔记—(01)
  11. 用手机当电脑摄像头——Droidcam
  12. 使用CNN实现C-MAPSS数据集里面的剩余寿命预测(Pytorch)
  13. SPSS多元线性回归分析看标准化还是非标准化系数?
  14. 台式win10怎么开启无线服务器,无线网卡怎么用? win10系统台式机安装无线网卡的详细教程...
  15. 计算机软件比赛团队名称,辩论赛 | 最佳人气团队评选
  16. 摄氏度和开氏度的换算_摄氏温度和华氏、开氏温度_温度表示符号及单位换算...
  17. 3.Elasticsearch-查询的多种方式
  18. coursera—Mini-project #1 - Rock-paper-scissor-lizard-Spock
  19. ps学习之立体字设计
  20. WPS格式文件转换图片格式如何实现

热门文章

  1. Linux必会100个命令(十六)ping、nc
  2. 国企数字化转型的难点及建议
  3. 眼中体:大家眼中的IT男
  4. 新浪微博基于Docker的混合云架构与应用实践
  5. 图像类找工作面试题(二)——常见问题大总结
  6. 盘点HR日常工作数据计算大全
  7. 分布式搜索引擎ElasticSearch(二)---ElasticSearch进阶使用教程
  8. java生成表格图片(请假条为例)
  9. 我的Qt作品(5)使用Qt+Halcon实现模板匹配;支持ROI框选/橡皮擦涂抹功能
  10. [Linux]常见环境开发工具