当前位置: 首页 > news >正文

python命名规范

一、概述

以前写python代码没有个代码,写出的代码一点也不规范

二、命名规范

2.1类的命名规范

总是使用首字母大写单词串。如MyClass、ClassName。内部类可以使用额外的前导下划线。

2.2函数和方法的命名规范

小写+下划线,如method_name。

2.3函数参数

小写+下划线,如function_parameter_name。如果一个函数的参数名称和保留的关键字冲突,通常使用一个后缀下划线,如random_。

2.4全局变量

对于from M import *导入语句,如果想阻止导入模块内的全局变量可以使用旧有的规范,在全局变量上加一个前导的下划线,如_var_name。应避免使用全局变量。

2.5变量

小写,由下划线连接各个单词。如color、this_is_a_variable。

WARNING

  • 不论是类成员变量还是全局变量,均不使用 m 或 g 前缀。
  • 私有类成员使用单一下划线前缀标识。
  • 变量名不应带有类型信息,因为Python是动态类型语言。如 iValue、names_list、dict_obj 等都不是好的命名

2.6常量

常量名所有字母大写,由下划线连接各个单词如MAX_OVERFLOW,TOTAL。

2.7异常

以“Error”作为后缀。

2.8文件名

全小写,可使用下划线

2.9包

应该是简短的、小写的名字。如果下划线可以改善可读性可以加入,如mypackage。

2.10模块

与包的规范同,如mymodule。

2.11缩写

命名应当尽量使用全拼写的单词,缩写的情况有如下两种:

常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser。
命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式。
例如:
function 缩写为 fn
text 缩写为 txt
object 缩写为 obj
count 缩写为 cnt
number 缩写为 num,等。

2.12前导后缀下划线

一个前导下划线:表示非公有。
一个后缀下划线:避免关键字冲突。
两个前导下划线:当命名一个类属性引起名称冲突时使用。
两个前导和后缀下划线:“魔”(有特殊用图)对象或者属性,例如__init__或者__file__。绝对不要创造这样的名字,而只是使用它们。
注意:关于下划线的使用存在一些争议。

2.13其他

主要是指 xxx 形式的系统保留字命名法。项目中也可以使用这种命名,它的意义在于这种形式的变量是只读的,这种形式的类成员函数尽量不要重载。如

class Base(object):
def init(self, id, parent = None):
self.id = id
self.parent = parent
def message(self, msgid):
其中 id、parent 和 message 都采用了系统保留字命名法。

三、参考

JAVA、C、Python各编程语言命名规范(最全、持续补充)-CSDN博客

http://www.lryc.cn/news/176814.html

相关文章:

  • Redis学习笔记--002
  • Visual Stdio 2019 win10 64bit下 无法找到 资源编译器DLL,请确认路径是否正确,和无法下载 win10SDK_10.0
  • 设计模式:中介者模式(C++实现)
  • Python常用函数
  • 进程与线程的记忆方法
  • 支持私有化部署的 WorkPlus,助您构建定制化的即时通讯平台
  • adjustText库解决深度学习、视觉模型matplotlib画散点图时由于标签非常多导致的重叠现象
  • 机器学习线性回归学习总结笔记
  • 火狐连接错误代码SEC_ERROR_UNKNOWN_ISSUER
  • react 网页/app复制分享链接到剪切板,分享到国外各大社交平台,通过WhatsApp方式分享以及SMS短信方式分享链接内容
  • 用智能文字识别技术赋能古彝文数字化之路
  • QT入门10个小demo——MP4视频播放器
  • MySQL常用操作
  • uni-app 之 Toast 消息提示
  • C语言--指针进阶3--数组指针
  • 购物车案例
  • c++ chrono
  • 实现长短地址的相互映射
  • 第1讲:前后端分离思想
  • 【深度学习】【Opencv】Python/C++调用onnx模型【基础】
  • C# MQTT通讯
  • 使用c++实现输出爱心(软件:visual Studio)
  • uploadifive上传工具php版使用
  • Docker容器管理
  • 【文末送书】用Chat GPT轻松玩转机器学习与深度学习
  • Redis的学习
  • java版Spring Cloud+Mybatis+Oauth2+分布式+微服务+实现工程管理系统
  • Vue 3的 h 函数详解
  • 防近视台灯什么牌子好?推荐有效预防近视的台灯
  • 五、C#—字符串