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代 ...
随机推荐
- Java基础教程——File类、Paths类、Files类
File类 File类在java.io包中.io代表input和output,输入和输出. 代表与平台无关的文件和目录. 可以新建.删除.重命名,但不能访问文件内容. File类里的常量: impor ...
- 【2020.12.02提高组模拟】A组反思
55,rk47 T1 赛时先想了\(trie\),想到不一定是前缀,然后就放弃转为打暴力 得分:\(RE22\) 正解是只用判断\(i\)与\(i+1\)的关系,那么只有两种情况,判断一下然后\(dp ...
- 注意当cin.getline、和cin 合用的时候
1. getline有两种,一个是string的(getline(cin,s)),一个是istream的(cin.getline(s,maxsize,delim)). 2. 当用cin输入了数据后,在 ...
- Python中序列解包与函数的参数收集之间的关系
在<第4.7节 Python特色的序列解包.链式赋值.链式比较>中老猿介绍了序列解包,<第5.2节 Python中带星号的函数参数实现参数收集>介绍了函数的参数收集,实际上函数 ...
- Python文件操作函数os.open、io.open、内置函数open之间的关系
Python提供了多种文件操作方式,这里简单介绍os.open.io.open.内置函数open之间的关系: 一.内置函数open和io.open实际上是同一个函数,后者是前者的别名: 二.os.op ...
- 第15.26节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QListWidget详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 列表部件(List Widget)对应类QListWidget,是从QListView派生 ...
- PyQt(Python+Qt)学习随笔:QTreeView树形视图的itemsExpandable属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的itemsExpandable属性用于控制视图中用户是否可以通过操作展开 ...
- 基础篇——SpringCloudAlibaba分布式组件
官方文档:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md 想要使用SpringCloudAlibaba ...
- XFF SSTI 模板注入 [BJDCTF2020]The mystery of ip
转自https://www.cnblogs.com/wangtanzhi/p/12328083.html SSTI模板注入:之前也写过:https://www.cnblogs.com/wangtanz ...
- ATT&CK 实战 - 红日安全 vulnstack (一) 靶机渗透
关于部署:https://www.cnblogs.com/Cl0ud/p/13688649.html PS:好菜,后来发现内网主机还是PING不通VM1,索性三台主机全部配成NAT模式,按照WEB靶机 ...