Python编程基本规范
1、命名规范
类:类的名称一般为名词,且以驼峰形式(即每个单词首字母要大写,其余字母小写,单词之间无间隔符号)给出。
函数:一般以动词开头,函数名称要准确、简要地概括本函数的作用。函数名一律小写,如有多个单词,用下划线隔开。
变量:变量取名应有实际含义,尽量避免单个字母如m,n,i,j等,除非该变量无实际业务含义。变量名应小写,如有多个单词用下划线隔开。
常量:所有字母大写,多个单词以下划线隔开。
2、换行
函数之间空一行;
类与类外函数之间空两行;
3、注释
在代码的关键或复杂的地方,应作注释,一看便知的部分无需注释。
4、函数抽象与复用
任何两个实现基本相同的功能的代码块,应考虑将其独立成一个函数,再分别调用。
如两个代码块功能基本相同,但略有出入,则抽象的函数应考虑这种细小的差异,通过对函数设定参数来解决,使之能够适配不同情况。
5、函数耦合
函数功能应尽量单一且独立(即不依赖其他函数),尽量避免多个函数层层依赖,如A->B,B->C,C->D。
使用多个函数应多用组合,少用依赖。即不推荐A->B->C->D,推荐写成A->B,A->C,A->D。
6、是否使用类
简单的程序用Python来实现基本不需要使用类或者说面向对象编程的风格,除非需要用到面向对象的继承功能。
如果只是为了隔离一组函数与另外一组函数,也无需封装成类,写在不同的文件中,用模块来区分即可。
在Python中,类更多地是用作一种复杂的数据结构,即视作一种数据类型。
7、异常处理
复杂或涉及用户输入的程序,应考虑程序的稳健性,使之能够应对异常情况。对可能出现的代码块,如涉及用户输入
、文件读写、数据库操作的代码部分应该加上try...catch。
8、程序效率与代码量
在确保实现功能的情况下,代码应尽量精简且高效,追求简洁之美。
Python编程基本规范的更多相关文章
- 《自拍教程9》Python编程风格规范
Python编程风格规范 根据Python官方提供的Python编程风格规范: Style Guide for Python Code, 即PEP8规范, https://www.python.org ...
- 牛客网 Python 编程输入规范
import sys try: while True: line = sys.stdin.readline().strip() if line == '': break lines = line.sp ...
- Python编程规范(PEP8)
Python编程规范(PEP8) 代码布局 缩进 对于每一次缩进使用4个空格.使用括号.中括号.大括号进行垂直对齐,或者缩进对齐. 制表符还是空格? 永远不要将制表符与空格混合使用.Python最常用 ...
- Python 编程规范-----转载
Python编程规范及性能优化 Ptyhon编程规范 编码 所有的 Python 脚本文件都应在文件头标上 # -*- coding:utf-8 -*- .设置编辑器,默认保存为 utf-8 格式. ...
- Python编程规范及性能优化(转载)
转载地址:http://codeweblog.com/python编程规范及性能优化/
- Python学习手册之 Python 之禅、Python 编程规范和函数参数
在上一篇文章中,我们介绍了 Python 的正则表达式使用示例,现在我们介绍 Python 之禅. Python 编程规范和函数参数.查看上一篇文章请点击:https://www.cnblogs.co ...
- Python黑帽编程2.1 Python编程哲学
Python黑帽编程2.1 Python编程哲学 本节的内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言.我带大家膜拜下Python作者的Python之禅,然后再来了解下P ...
- 书籍推荐Python编程:从入门到实践(高清完整pdf)
这本书我看了电子版的,感觉还不错,全书共有20章,书中的简介如下: 本书旨在让你尽快学会 Python ,以便能够编写能正确运行的程序 -- 游戏.数据可视化和 Web 应用程序,同时掌握让你终身受益 ...
- python编程基础
Date: 2019-05-27 Author: Sun 1. 程序 为了完成某种特定功能,以某种程序设计语言编写的有序指令的集合.程序是指挥cpu工作的"工作手册".计算机只能执 ...
随机推荐
- N - Marriage Match II 网络流
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3081 推荐博客:https://www.cnblogs.com/liuxin13/p/4728131. ...
- HashMap面试知识点总结
主要参考 JavaGuide 和 敖丙 的文章, 其中也有参考其他的文章, 但忘记保存链接了, 文中图片也是引用别的大佬的, 请见谅. 新手上路, 若有问题, 欢迎指正. 背景 HashMap 的相关 ...
- Python3 迭代器与生成器 - 学习笔记
可迭代对象(Iterable) 迭代器(Iterator) 定义 迭代器和可迭代对象的区别 创建一个迭代器 创建一个迭代器类 使用内置iter()函数 StopIteration异常 生成器(gene ...
- 解密C语言编译背后的过程
我们大部分程序员可能都是从C语言学起的,写过几万行.几十万行.甚至上百万行的代码,但是大家是否都清楚C语言编译的完整过程呢,如果不清楚的话,我今天就带着大家一起来做个解密吧. C语言相对于汇编语言是一 ...
- A*启发式搜索
A*启发式搜索 其实是两种搜索方法的合成( A*搜索算法 + 启发式搜索),但要真正理解A*搜索算法,还是得先从启发式搜索算法谈起. 何为启发式搜索 启发式搜索算法有点像广度优先搜索,不同的是,它会优 ...
- Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像
前文传送门: 「Python 图像处理 OpenCV (1):入门」 普通操作 1. 读取像素 读取像素可以通过行坐标和列坐标来进行访问,灰度图像直接返回灰度值,彩色图像则返回B.G.R三个分量. 需 ...
- PAT 1011 World Cup Betting (20分) 比较大小难度级别
题目 With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly exc ...
- Kafka面试你不得不知道的基础知识
Java内存管理面试指南一 Java基础面试指南一 Java基础面试指南二 Java基础面试指南三 Java基础面试指南四 Java线程面试指南一 Java线程面试指南二 Redis面试指南一 Kaf ...
- 6-JVM常用工具和优化
JVM 常用工具和优化 JDK 自带的 jconsole jvisualvm 三方的工具 arthas 调优关注点(内存.GC): 内存 MAT XElephant 在线:perfma GC 拿到GC ...
- Failed to start mongod.service: Unit not found
其实自己用惯的是MYSQL,然后项目最后一步完善数据读写的部分,本来打算用mysql的,然而在centOS系统上发现安装总是出问题,后来查找一下资料,发现centOS系统上一般用的是Mariadb,这 ...