python中有哪些重要的书写规则_一文读懂Python代码的书写规范
Python代码的书写规范
1. 一致性的建议
打破一条既定规则的两个好理由
当应用这个规则将导致代码可读性下降,即使对于某人来说他已经习惯于按照这条规则来阅读代码了
为了和周围的代码保持一致而打破规则(也许是历史原因)
2. 代码的布局
缩进
4个空格
代码行
行最大长度 : 79字符
推荐长度 : 72字符
分割方式 : "" , "()" , "{}"
空行
两行空行分割顶层函数和类的定义
一行空行分割方法或函数
额外空行分割相关函数群
类定义与第一个方法定义需要一行空行
编码
万年 "UTF-8"
导入
先import标准模块,再from ... import第三方模块(绝对路径) ,最后from ... import自建模块
每组导入空一行,一行导入一个包[模块,类等]
空格
紧贴各类括号
紧贴逗号,分号,冒号前
紧贴函数调用参数列表前开放式括号
紧贴再索引或切片括号
二元操作符或运算符或逻辑等两边各留一个空格
默认参数或关键参数"="不留空格
3. 注释
注释块
与相应代码有着相同缩进
行内注释
与代码被注释代码同行,以"#"+" "开头
文档注释
结尾处 """ 单独成行
版本注记
模块文档字符串之后,所有代码之前,上下空行分割
4. 命名
约定
模块名 : 不含下划线 ; 小写 ; 剪短
类名,异常名 : 首字母大写单词串
方法,函数 : 第一个字母小写的首字母大写单词串
属性,实例,变量 : 小写字母串
继承
私有 : 双下划线开头
非公有 : 单下划线开头
命名冲突
不降低可读性,能改就改,不能就在末尾加单个下划线或者数字
5. 设计建议
使用"is"或"is not"进行对"None"的单值比较
使用字符串方法代替字符串模块
使用startswith()和endswith()检查前后缀而不是使用切片
使用isinstance()判断对象是否是字符串而不是使用type()
判断空序列或字典不要使用len()
书写字符串文字不要依赖有意义的后置空格
不要用"=="比较布尔值
python中有哪些重要的书写规则_一文读懂Python代码的书写规范相关推荐
- python输入什么就输出什么意思_一文读懂Python的输入和输出
本文介绍了Python的输入和输出,既然是Python代码,那么就一定有输出量,那么,Python是如何输出的呢? 输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'h ...
- 廖雪峰讲python高阶函数求导公式_一文读懂Python 高阶函数
高阶函数 将函数作为参数传入,这样的函数称为高阶函数.函数式编程就是指这种高度抽象的编程范式. 变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函 ...
- python输入什么就输出什么_一文读懂Python的输入和输出
本文介绍了Python的输入和输出,既然是Python代码,那么就一定有输出量,那么,Python是如何输出的呢? 输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'h ...
- python读取枚举_一文读懂Python 枚举
enum是一组绑定到唯一常数值的符号名称,并且具备可迭代性和可比较性的特性.我们可以使用 enum 创建具有良好定义的标识符,而不是直接使用魔法字符串或整数,也便于开发工程师的代码维护. 创建枚举 我 ...
- 各层电子数排布规则_一文读懂PCB多层板各层含义与设计原则
PCB有单面.双面和多层的,对于收音机等简单的电器来说,使用单面PCB即可.但是,随着时代的进步,无论是功能还是体积,电子产品都需要更新换代.对于多功能.小体积的电子产品,单面和双面PCB都不能完全满 ...
- python中的映射_一文读懂Python中的映射
python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数分别用于对对象内部执行:检查是否含有某成员.获取成员.设置成员.删除成员. ...
- networkx edge 属性_一文读懂Python复杂网络分析库networkx | CSDN博文精选
作者 | yyl424525 来源 | CSDN博客 文章目录 1. 简介 安装 支持四种图 绘制网络图基本流程 2. Graph-无向图 节点 边 属性 有向图和无向图互转 3. DiGraph-有 ...
- 读懂python语言_一文读懂python反射机制
反射 反射机制就是在运行时,动态的确定对象的类型,并可以通过字符串调用对象属性.方法.导入模块,是一种基于字符串的事件驱动.解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译 ...
- angular 字符串转换成数字_一文看懂Python列表、元组和字符串操作
好文推荐,转自CSDN,原作星辰StarDust,感觉写的比自己清晰-大江狗荐语. 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力 ...
最新文章
- 聊聊抖音、奈飞、Twitch、大疆、快手、B站的多媒体关键技术
- python实现shell_基于 Python 的简易 Shell 实现
- 算法提高课-搜索-DFS之搜索顺序-AcWing 1116. 马走日:dfs
- 我用的 cordova 插件
- zcmu1713(模拟)
- 神器 JMH + Arthas 性能监控
- Auto-Configuration Error: Cannot find gcc or CC
- rust睡觉按键没反应_扫描仪四个按键分别是
- Javaworkers团队第五周项目总结
- 【转】group by后使用rollup子句总结
- 运用计算机测量单缝衍射光强度分布,衍射光强检测系统、单缝衍射光路系统及光强检测方法与流程...
- 如何压缩文件到最小——压缩参数调整 for 7z
- 为什么一个还没毕业的大学生能够把 IO 讲的这么好?
- Kaggle数据集之电信客户流失数据分析
- modbus slave和modbus poll使用说明
- 高炉煤气净化提质技术及发展趋势浅谈
- Python绘制世界疫情地图
- Linux挂载proc文件夹,Linux中/etc/fstab /etc/mtab /proc/mounts这三个文件的分析与比较
- 拧巴的李想,黯淡的理想
- [FFmpeg]ffmpeg命令实现wma转mp3文件的音频转换
热门文章
- java 反编译class文件_用Java实现JVM第三章《解析class文件》
- python语言sort_Python里的sort语句
- ajax清请求过程,JS深入基础之Ajax的请求过程
- GitHub 创建项目
- 一文带你初识---虚拟dom
- Java List集合转换相关操作
- node js fork php,Node.js中execFile,spawn,exec和fork简介
- html5 coverflow,使用FancyCoverFlow实现3D无限循环切换视图
- qt程序运行时绘图出现错误
- 浅析Linux开发工具之Makefile