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代 ...
随机推荐
- 关于C语言编程的高效学习方法,首要任务是掌握高效编程,其次乃代码优化!
在本篇文章中,我收集了很多经验和方法.应用这些经验和方法,可以帮助我们从执行速度和内存使用等方面来优化C语言代码. 简介 在最近的一个项目中,我们需要开发一个运行在移动设备上但不保证图像高质量的轻量级 ...
- unittest框架中读取有特殊符号的配置文件内容的方法-configparser的RawConfigParser类应用
在搭建Unittest框架中,出现了一个问题,配置文件.ini中,出现了特殊字符如何处理? 通过 1.configparser的第三方库对应的ConfigParser类,无法完成对特殊字符的读取: # ...
- 第15.48节、PyQt显示部件:TextBrowser、CalendarWidget、LCDNumber、ProgressBar、Label、HorizontalLine和VerticalLine简
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 在Designer中,显示部件有Labe ...
- 转:csdn怎么快速别人的文章
在csdn看到好的文章想转载,无奈找不到转载的功能,只能想办法了. 首先确定原文允许转载 在文章开头处一般有版权声明,如图 转载时要注明出处和作者 如何转载 用谷歌浏览器加载文章地址,打开文章 F12 ...
- PyQt学习随笔:自定义Qt事件可以使用的事件类型的常量值范围
除了<PyQt学习随笔:Qt事件QEvent.type类型常量及其含义资料速查>介绍的Qt已经定义的事件外,Qt还支持自定义事件. 为了方便起见,可以使用 registerEventTyp ...
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的clicked信号参数QAbstractButton *解决办法
一.引言 QDialogButtonBox本身只提供4种信号,分别是accepted.rejected.clicked和helpRequested,在<PyQt(Python+Qt)学习随笔:D ...
- flask中的return、过滤器详解
之前吧一直学习flask的时候,一直不明白response是怎么产生,今天是明白了.retrun 哎呀,这个地方看着挺小心的东西, 蕴含的能量可不小啊.今天我详细总结总结. 先来写jinjia2语法 ...
- pytorch SubsetRandomSampler 用法和说明
官网:https://pytorch.org/docs/stable/data.html?highlight=subsetrandomsampler#torch.utils.data.SubsetRa ...
- Outlook会议中人员窗格消失了
Outlook会议中人员窗格消失了,如何恢复: 在[文件]-[信息]-[管理COM加载项] 启用Outlook social conector, 对启用,一直启用,再重启OUTLOOK即可.
- ThreadLocal原理记录,别被坑了!!
简介 ThreadLocal的用处 ThreadLocal是为了将数据记录一份到某个线程里,确保该数据线程安全 例如数据库的Connection放入ThreadLocal,一个事务会用到很多DAO,但 ...