python常用命名规范
昨天看了一个朋友写的代码,再次体会到了读别人写的代码是多么痛苦的一件事。。。
总结了一下,主要问题有以下几个:
1.类名、函数名、变量名等命名混乱;
2.变量名没有意义,加上没有注释,换个人走读基本等于天书;
3.写的逻辑太混乱,喜欢用一些复杂的语法,绕来绕去的,逻辑思路清奇。
第3点由于每个人思维以及对事物的理解不一致,在此不做评价。
针对第1、2两点,特此收集整理了一下python的命名规范,希望可以帮助看到的小伙伴,让代码变得更加优雅一些。
Python命名规范:
1.项目名称
首字母大写+大写式驼峰,如:ProjectName
2.模块名和包名
全部小写+下划线驼峰,如:module_name package_name
3.类名称,异常
首字母大写+大写式驼峰,如:class ClassName: ,ExceptionName
4.全局变量、常量
全部使用大写字母+下划线驼峰,如:GLOBAL_VAR_NAME,CONSTANT_NAME
5.方法名,函数名,其余变量,参数,实例
全部小写+下划线驼峰,如:method_name,function_name,instance_var_name, function_parameter_name, local_var_name
6.处理计数器外,不使用单字母命名
7.变量名要有意义,尽量用全拼,通过命名可以大致猜到变量的用处
注意:不要用魔法数字!不要用魔法数字!不要用魔法数字!
8.严禁使用关键字作为变量名
PS:python查看关键字——
import keyword print(keyword.kwlist)
暂时就这么多,欢迎大家继续补充~
python常用命名规范相关推荐
- python代码命名规范
目录 一.常用命名规范 1.1.驼峰命名法(CamelCase) 1.1.1.小驼峰命名法(lowerCamelCase) 1.1.2.大驼峰命名法(CamelCase) 1.2.蛇形命名法(snak ...
- Python的命名规范
Python的命名规范 一.前言 二.Python中常用的一些命名规范 三.总结 一.前言 命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以更加直观地 ...
- 类属性、类方法;私有属性、公有属性;私有方法、公有方法;静态属性、静态方法;python的命名规范__xx__\__xx\_xx(自用笔记)
Ⅰ.类属性.类方法(类和实例都能调用类属性和类方法) 类是一个特殊的对象,Python 中 一切皆对象:class AAA: #定义的类属于 类对象obj1 = AAA() #属于 实例对象 除了封装 ...
- python语言在命名上是什么敏感的_一文轻松掌握python语言命名规范规则
和C/C++.Java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以让程序的可读性大大增加,从而使得代码的逻辑性增强,易于自己和其他协作者在以后的拓展中理解代码的意义,从而 ...
- python语言命名规则-一文轻松掌握python语言命名规范规则
和C/C++.Java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以让程序的可读性大大增加,从而使得代码的逻辑性增强,易于自己和其他协作者在以后的拓展中理解代码的意义,从而 ...
- 【Python】标识符 ( Python 标识符命名规则 - 强制性 | 内容限定 | 大小写敏感 | 非关键字 | Python 标识符命名规范 - 建议性 | 下划线命名法 | 英文字母全小写 )
文章目录 一.Python 标识符 1.Python 标识符命名规则 ( 强制性 ) 2.Python 标识符命名规范 ( 建议性 ) 二.代码示例 1.内容限定代码示例 2.大小写敏感 3.非关键字 ...
- python — 项目命名规范
python - 项目命名规范 类型 公有/外部成员 私有/内部成员 项目(project) My_project 模块(module) my_naming_convention _my_naming ...
- python 变量命名规范
http://blog.sina.com.cn/s/blog_62f28d560100xv85.html python源码和其他一些书籍,命名各种个性,没有一个比较统一的命名规范.于是总结了一些,供参 ...
- python 常用PEP8规范
一 代码编排 1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格. 2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车. ...
最新文章
- 湖南打工妹逆袭,从北大才女到“网络红娘”,她用1000元赚了5个亿
- 【opencv】21.图像处理为什么要归一化
- 在linux下php挂接mysql.so扩展的方法
- 关于一些知名深度学习模型的转换
- uva11991 Easy Problem from Rujia Liu?
- python撩妹代码_Python十行代码让你秒变撩妹达人!想学?
- 如何为编程爱好者设计一款好玩的智能硬件(九)——LCD1602点阵字符型液晶显示模块驱动封装(下)...
- Domino邮件服务器防垃圾邮件中转
- Android学习笔记(十八)——使用意图筛选器和实现浏览网页(附源代码)
- WinCE学习系列(1)——在VS2008的环境下安装WinCE 5.0仿真模拟器
- android在ubuntu中编译为.apk资料
- FBWF和EWF的对比
- 在matlab中配置vlfeat,在MATLAB R2018b中配置VLFeat
- 激活windows系统,你知道吗
- 全量、增量 数据抽取 同步
- Android数字时钟神一般的实现——TextClock
- Wincc服务器右下RT状态,关于wincc rt
- Matlab实现sift特征检测和两幅图像的特征点匹配(D. Lowe)
- 隧道技术之 外网访问内网
- C++指针与const的结合用法
热门文章
- Spring各个版本的特性
- Windows + Python读取GRIB文件
- 雷达系统设计及matlab仿真(一) 第一章 雷达基础知识概论(测距 距离分辨率 多普勒频率 雷达方程 噪声和信噪比 脉冲积累)
- 二维动画制作相对于传统宣传的优势
- html 判断复选框是否选中,jquery如何判断复选框是否选中?
- 《数据结构与算法分析Java》引论
- 求子集PHP,汉诺塔问题与求子集
- 浏览器单步调试的步骤
- R语言向前或者向后移动时间序列数据(自定义滞后或者超前的期数):使用dplyr包中的lag函数将时间序列数据向前移动一天(设置参数n为正值)
- 作为风投公司,我们最希望收到这样的商业计划书