昨天看了一个朋友写的代码,再次体会到了读别人写的代码是多么痛苦的一件事。。。

总结了一下,主要问题有以下几个:

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常用命名规范相关推荐

  1. python代码命名规范

    目录 一.常用命名规范 1.1.驼峰命名法(CamelCase) 1.1.1.小驼峰命名法(lowerCamelCase) 1.1.2.大驼峰命名法(CamelCase) 1.2.蛇形命名法(snak ...

  2. Python的命名规范

    Python的命名规范 一.前言 二.Python中常用的一些命名规范 三.总结 一.前言   命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以更加直观地 ...

  3. 类属性、类方法;私有属性、公有属性;私有方法、公有方法;静态属性、静态方法;python的命名规范__xx__\__xx\_xx(自用笔记)

    Ⅰ.类属性.类方法(类和实例都能调用类属性和类方法) 类是一个特殊的对象,Python 中 一切皆对象:class AAA: #定义的类属于 类对象obj1 = AAA() #属于 实例对象 除了封装 ...

  4. python语言在命名上是什么敏感的_一文轻松掌握python语言命名规范规则

    和C/C++.Java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以让程序的可读性大大增加,从而使得代码的逻辑性增强,易于自己和其他协作者在以后的拓展中理解代码的意义,从而 ...

  5. python语言命名规则-一文轻松掌握python语言命名规范规则

    和C/C++.Java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以让程序的可读性大大增加,从而使得代码的逻辑性增强,易于自己和其他协作者在以后的拓展中理解代码的意义,从而 ...

  6. 【Python】标识符 ( Python 标识符命名规则 - 强制性 | 内容限定 | 大小写敏感 | 非关键字 | Python 标识符命名规范 - 建议性 | 下划线命名法 | 英文字母全小写 )

    文章目录 一.Python 标识符 1.Python 标识符命名规则 ( 强制性 ) 2.Python 标识符命名规范 ( 建议性 ) 二.代码示例 1.内容限定代码示例 2.大小写敏感 3.非关键字 ...

  7. python — 项目命名规范

    python - 项目命名规范 类型 公有/外部成员 私有/内部成员 项目(project) My_project 模块(module) my_naming_convention _my_naming ...

  8. python 变量命名规范

    http://blog.sina.com.cn/s/blog_62f28d560100xv85.html python源码和其他一些书籍,命名各种个性,没有一个比较统一的命名规范.于是总结了一些,供参 ...

  9. python 常用PEP8规范

    一 代码编排 1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格. 2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车. ...

最新文章

  1. 湖南打工妹逆袭,从北大才女到“网络红娘”,她用1000元赚了5个亿
  2. 【opencv】21.图像处理为什么要归一化
  3. 在linux下php挂接mysql.so扩展的方法
  4. 关于一些知名深度学习模型的转换
  5. uva11991 Easy Problem from Rujia Liu?
  6. python撩妹代码_Python十行代码让你秒变撩妹达人!想学?
  7. 如何为编程爱好者设计一款好玩的智能硬件(九)——LCD1602点阵字符型液晶显示模块驱动封装(下)...
  8. Domino邮件服务器防垃圾邮件中转
  9. Android学习笔记(十八)——使用意图筛选器和实现浏览网页(附源代码)
  10. WinCE学习系列(1)——在VS2008的环境下安装WinCE 5.0仿真模拟器
  11. android在ubuntu中编译为.apk资料
  12. FBWF和EWF的对比
  13. 在matlab中配置vlfeat,在MATLAB R2018b中配置VLFeat
  14. 激活windows系统,你知道吗
  15. 全量、增量 数据抽取 同步
  16. Android数字时钟神一般的实现——TextClock
  17. Wincc服务器右下RT状态,关于wincc rt
  18. Matlab实现sift特征检测和两幅图像的特征点匹配(D. Lowe)
  19. 隧道技术之 外网访问内网
  20. C++指针与const的结合用法

热门文章

  1. Spring各个版本的特性
  2. Windows + Python读取GRIB文件
  3. 雷达系统设计及matlab仿真(一) 第一章 雷达基础知识概论(测距 距离分辨率 多普勒频率 雷达方程 噪声和信噪比 脉冲积累)
  4. 二维动画制作相对于传统宣传的优势
  5. html 判断复选框是否选中,jquery如何判断复选框是否选中?
  6. 《数据结构与算法分析Java》引论
  7. 求子集PHP,汉诺塔问题与求子集
  8. 浏览器单步调试的步骤
  9. R语言向前或者向后移动时间序列数据(自定义滞后或者超前的期数):使用dplyr包中的lag函数将时间序列数据向前移动一天(设置参数n为正值)
  10. 作为风投公司,我们最希望收到这样的商业计划书