python良好的编程习惯
良好的编程习惯
2.1 在程序中是用丰富的注释,注释有助于其他程序员理解程序,有助于程序调试(发现和排除程序中的错误),并列出有用的信息。以后修改或更新代码时,注释还有助于理解当初自己编写的程序
2.2 每个程序都应以一条注释开头,描述该程序的用途
2.3 加一些空行来增强程序的可读性
2.4 有意义的变量名可改善程序的“自编档能力”;也就是说,只需读一读程序,就能轻松理解它,而不必非要阅读手册或使用过多的注释
2.5 避免标识符以下划线和双下划线开头,因为python解释器可能保留了那些名称,供内部使用。这样可避免您选择的名称与解释权选择的名称混淆
2.6 在二元运算符两端添加一个空格。这样可以突出运算符,增强程序可读性
2.7 和在代数中一样,可在表达式中添加原本不需要的圆括号,使其更清晰。这些括号叫做冗余括号。冗余括号通常用于分组大型表达式中的各个子表达式,使表达式更清晰。将一条长的语句分解成一系列较短的,较简单的语句,有助于使语句更清晰。
2.8 事先建立一个约定,设置您喜欢的缩进量,然后始终贯彻这一约定,虽然按tab键可以生成缩进,但制表位的长度在不同系统上是不同的,建议将3个空格定为一个缩进级别。
2.9 可用续行字符\将长语句分成几行。如一个语句必须分解成多行,请选择有意义的端点,比如在print语句的逗号之后,或者在一个较长的表达式的运算符之后
3.1 如果同时有几级缩进,每个suite都必须缩进,相同级别的不同suite不必具有先宫廷的缩进量,但这是一种良好的编程习惯。
3.2 要在if/elif结构中提供一个默认条件。无默认条件的if/elif结构中,没有被显式检测的条件会被忽略。包括一个默认条件,可强迫程序员处理异常的条件。
3.3 初始化counter和total变量
3.4 执行除法运算时,如除数可能为零,请务必明确检测,并在程序中进行相应的处理(比如打印一条错误信息),不要任由严重错误发生。
3.5 在由哨兵值控制的循环中,当提示输入时,应明确指出哨兵值是哪一个
3.6 在每个控制结构前后各留一个空行,将其同程序其他部分区分开
3.7 嵌套级别过多,会使程序难以理解。通常应将嵌套控制在3级以内。
3.8 在每个控制结构上下留一个空行,并对每个控制结构的主体进行缩进,是程序具有清晰的二维外观,增强可读性。
3.9 避免在for循环主体更改控制变量的值,这有可能导致不易发现的逻辑错误。
3.10 用浮点值来执行财务方面的计算时,可一定要谨慎,近似值错误可能会导致不希望的结果。
3.11 有的程序员认为break和continue违反了结构化编程准则。由于可采用后文即将讨论的结构化编程技术达到同样的目的,所以这些程序员不适用break和continue。
4.1 尽快熟悉核心python模块提供的函数和类集合。
4.2 在函数定义之间放入一个空行,以便区分函数,并增强程序可读性。
4.3 不建议为传给函数的参数和函数定义中的对应参数使用相同的名称。
4.4 悬着有意义的函数名和参数名有利于增强程序可读性,还可减少注释两。这样写程序可获得“自文档化的代码”
4.5 避免变量名遮蔽外层作用域中的名称。为此,要注意避免标识符与内建命名空间中的标识符同名,并避免在程序中使用重复的标识符。
4.6 使用默认参数可简化函数调用的编写,但有的程序员认为,显示指定所有参数会使程序更易读。
python良好的编程习惯的更多相关文章
- 养成这8个编程习惯,你的Python性能将蹭蹭蹭地往上涨
Python不以性能见长,但掌握一些技巧,也可尽量提高程序性能,避免不必要的资源浪费. 1. 使用局部变量 尽量使用局部变量代替全局变量:便于维护,提高性能并节省内存. 使用局部变量替换模块名字空间中 ...
- Python金融应用编程(数据分析、定价与量化投资)
近年来,金融领域的量化分析越来越受到理论界与实务界的重视,量化分析的技术也取得了较大的进展,成为备受关注的一个热点领域.所谓金融量化,就是将金融分析理论与计算机编程技术相结合,更为有效的利用现代计算技 ...
- python的面向对象编程
面向对象编程是一种程序的范式,它把程序看成是对不同对象的相互调用,对现实世界建立的一种模型. 面向对象编程的基本思想,类和实例.类用于定义抽象对象,实例根据类的定义被创建出来. 在python当中我们 ...
- 学习python-20191208(1)-Python Flask高级编程开发鱼书_第03章_数据与flask路由
视频01: 略...... ———————————————————————————————————————————————————————————— 视频02: 搜索需要外部数据源,也就是需要外部的A ...
- Python——11面向对象编程基础
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- Python 黑帽编程大纲(变化中)
Python 黑帽编程大纲(预览版) 教程说明: 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and Defense with Pytho ...
- 防御性编程习惯:求出链表中倒数第 m 个结点的值及其思想的总结
防御性编程习惯 程序员在编写代码的时候,预料有可能出现问题的地方或者点,然后为这些隐患提前制定预防方案或者措施,比如数据库发生异常之后的回滚,打开某些资源之前,判断图片是否存在,网络断开之后的重连次数 ...
- Python黑帽编程 3.4 跨越VLAN
Python黑帽编程 3.4 跨域VLAN VLAN(Virtual Local Area Network),是基于以太网交互技术构建的虚拟网络,既可以将同一物理网络划分成多个VALN,也可以跨越物理 ...
- 漫谈C++:良好的编程习惯与编程要点
以良好的方式编写C++ class 假设现在我们要实现一个复数类complex,在类的实现过程中探索良好的编程习惯. ① Header(头文件)中的防卫式声明 complex.h: # ifndef ...
随机推荐
- Python中的返回函数与闭包
返回函数,顾名思义,就是高阶函数可以把函数作为return值返回.与闭包的关系是:闭包需要以返回函数的形式实现. 一. 返回函数 比如我们有一个求和函数: >>> def calc_ ...
- 第十一篇:MySQL基础
本篇内容 MySQL概述 MySQL安装 MySQL库增.删.改.查 MySQL表增.删.改.查 MySQL表记录增.删.改.查 一. MySQL概述 MySQL是一个关系型数据库管理系统,由瑞典 M ...
- poj 1062 昂贵的聘礼 (最短路径)
昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 33365 Accepted: 9500 Descriptio ...
- P2052 [NOI2011]道路修建
题目描述 在 W 星球上有 n 个国家.为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通.但是每个国家的国王都很吝啬,他们只愿 意修建恰好 n – 1 条双向道路. 每条道 ...
- 搭建自己的YUM源HTTP服务器
createrepo是linux下的创建仓库的软件包.create是创建的意思,repo是repository的缩写,是仓库的意思.yum(Yellowdog Updater,Modified)主要的 ...
- python列表里的字典元素去重
去重 def list_dict_duplicate_removal(): data_list = [{"a": "123", "b": & ...
- [bzoj2245][SDOI2011]工作安排——费用流
题目大意: 传送门 题解: 很容易建模,把每一个工作人员拆成两个点,由第一个点向第二个点连S+1条边即可. 这水题没什么难度,主要是longlong卡的丧心病狂... 代码 #include < ...
- 64位操作系统安装32位客户端和PL/SQL
PL/SQ只能使用32位的Oracle客户端.在64位系统下安装了64位的oracle 11g,使用PL/SQL需再安装32位Oracle客户端. 按以下方法试验成功: 1)安装32位的Oracle客 ...
- 掌握 Linux 调试技术【转】
转自:https://www.ibm.com/developerworks/cn/linux/sdk/l-debug/index.html 您可以用各种方法来监控运行着的用户空间程序:可以为其运行调试 ...
- python--math
>>> import math >>> >>> # ceil,取大于等于x的最小的整数值 >>> math.ceil(4) 4 ...