python初学者-代码规范
一、编程规范
1.缩进(代码块)
类定义、函数定义、选择结构、循环结构、with块、行尾的冒号表示缩进的开始。
python程序是依靠代码块的缩进来体现代码之间的逻辑关系,缩进结束就表示一个代码块结束。
同一个级别的代码块的缩进量必须相同。
一般而言,以4个空格为基本缩进单位。
2.每个import语句只导入一个模块,最好按标准库、扩展库、自定义库的顺序依次导入。

3.最好在每个类、函数定义和一段完整的功能代码之后增加一个空行,在运算符两侧各增加一个空格,逗号后面增加一个空格。

4.尽量不要写过长的语句。如果语句过长,可以考虑拆分成多个短一些的语句,以保证代码具有较好的可读性。如果语句确实太长而超过屏幕宽度,最好使用续行符(line continuation chharacter)“\”,或者使用圆括号将多行代码括起来表示一条语句。

5.括号,虽然python运算符有明确的优先级,但对于复杂的表达式建议在适当的位置使用括号使得各种运算的隶属关系和顺序更加明确、清晰。
6.注释
以符号#开始,表示本行#之后的内容为注释
包含在一对三引号’‘’ ‘’‘或“”“ ”“”之间且不属于任何语句的内容江北解释器认为是注释。

7.在开发速度和运行速度之间尽量取得最佳平衡。
内置对象运行速度最快,标准库次之,用C或Fortran编写的扩展库速度也比较快,而纯Python的扩展库往往速度慢一些。
在开发项目时,应优先使用Python内置对象,其次考虑使用Python标准库提供的对象,最后考虑使用第三方扩展库。
8.根据运算特点选择最合适的数据类型来提高程序的运行速率。
如果定义一些数据只是用来频繁遍历并且关心顺序,最好优先考虑元组。
如果需要频繁的测试一个元素是否存在于一个序列中并且不关心其顺序,尽量采用集合。
列表和元组合in操作的时间复杂度是线性的,而对于集合和字典却是常数级的,与问题规模几乎无关。
9.充分利用关系运算符以及逻辑运算符and和or的惰性求值特点,合理组织条件表达式中对各条件的先后顺序,减少不必要的计算。
10.充分利用生成器对象或类似迭代对象的惰性计算特点,尽量避免将其转换为列表,元组等类型,这样可以减伤堆内存的占用,降低空间复杂度。
11.减少内循环中的无关计算,尽量往外层提取。
python初学者-代码规范的更多相关文章
- Python pep8代码规范
title: Python pep8代码规范 tags: Python --- 介绍(Introduction) 官方文档:PEP 8 -- Style Guide for Python Code 很 ...
- python PEP8代码规范及问题
最近刚刚接触Python,为了养成好习惯,尽量保证自己写的代码符合PEP8代码规范,下面是过程中报出的警告及解决方法,英文有些翻译不太准确见谅,会不断更新: PEP 8: module level i ...
- python之代码规范
第一章 为什么要有规范化目录 真正的后端开发的项目,系统等,少则几万行代码,多则十几万,几十万行代码 软件开发,规范你的项目目录结构,代码规范,遵循PEP8规范等等,让你更加清晰,合理开发. 1.代码 ...
- python基础1 - 多文件项目和代码规范
1. 多文件项目演练 开发 项目 就是开发一个 专门解决一个复杂业务功能的软件 通常每 一个项目 就具有一个 独立专属的目录,用于保存 所有和项目相关的文件 – 一个项目通常会包含 很多源文件 在 ...
- 不是程序员,代码也不能太丑!python官方书写规范:任何人都该了解的 pep8
不是程序员,代码也不能太丑!python官方书写规范:任何人都该了解的 pep8 简介:为什么要强调 书写规范 ?这其实并不关乎"美丑",而是为了 更高的效率(代码阅读.开发.维护 ...
- 老李分享:pep8 python代码规范
老李分享:pep8 python代码规范 什么是PEPPEP是 Python Enhancement Proposal 的缩写,翻译过来就是 Python增强建议书 . PEP8 译者:本文基于 20 ...
- python代码规范与标准库参考
python代码规范与标准库参考 python代码规范参考文献: http://www.runoob.com/w3cnote/google-python-styleguide.html https:/ ...
- Python代码规范之---代码不规范,亲人两行泪
任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步! 关于代码规范 Python 官方提供有一系列 PEP(Python Enhancement Proposals) 文档 其中第 8 篇 ...
- Python代码规范(PEP8)问题及解决
转载:https://blog.csdn.net/Jason_Lewis/article/details/75386598 最近刚刚接触Python,为了养成好习惯,尽量保证自己写的代码符合PEP8代 ...
随机推荐
- [BUGCASE]Webpack打包报JavaScript堆内存泄漏的错误
一.问题描述 执行npm run build之后报错: 报错信息: FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript he ...
- 在VMware下创建windows server 2008虚拟机
1.创建新的虚拟机 打开VMware软件,点击主页内创建新的虚拟机 2.进入新建虚拟机向导 点击典型,点击下一步 3.在下一步中单击稍后安装操作系统 点击下一步 4.选择操作系统类型 客户机操作系统选 ...
- Alpha冲刺-第九次冲刺笔记
Alpha冲刺-冲刺笔记 这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE2 这个作业要求在哪里 https://edu.cnblogs. ...
- 【2020.12.01提高组模拟】A组反思
105,rk45 T1 赛时一开始先打了\(m=0\)的情况,也就是普通的卡特兰数,然后打了暴力,样例过了,把样例改改就不行了,原因没有保证是枚举的是合法的出栈序列 得分:\(WA\&TLE1 ...
- 如何将图片、html等格式转成pdf
const int WWidth = 600; const int HHeight = 800; List<System.Drawing.Image> AllName = new List ...
- MySQL重做日志(redo log)
前面介绍了三种日志:error log.slow log.binlog,这三种都是 Server 层的.今天的 redo log 是 InnoDB引擎专有的日志文件. 为什么要有 redo log 用 ...
- C++20初体验——concepts
引子 凡是涉及STL的错误都不堪入目,因为首先STL中有复杂的层次关系,在错误信息中都会暴露出来,其次这么多类和函数的名字大多都是双下划线开头的,一般人看得不习惯. 一个经典的错误是给std::sor ...
- moviepy音视频剪辑:多个视频合成一个视频
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.视频合成概述 视频合成,也称为非线性编辑,实际 ...
- 第10.11节 Python模块和包小结
Python的模块就是一个独立的Python文件,Python的包是一些功能相关的Python文件放到一个目录下进行统一管理的文件管理结构,包本质上是模块,加载包就是加载包下特定的模块文件__init ...
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中的topLevelItem、indexOfTopLevelItem和takeTopLevelItem方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 获取指定位置顶层项 树型部件QTreeWidget中,通过topLevelItem方法根据位置索引取 ...