当前位置: 首页 > 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博客

相关文章:

python命名规范

一、概述 以前写python代码没有个代码,写出的代码一点也不规范 二、命名规范 2.1类的命名规范 总是使用首字母大写单词串。如MyClass、ClassName。内部类可以使用额外的前导下划线。 2.2函数和方法的命名规范 小写下划线,如method_name。 2.3函数…...

Redis学习笔记--002

Redis的JAVA客户端 文章目录 Redis的JAVA客户端一、Redis的Java客户端的种类二、Jedis2.1、使用步骤2.2、Jedis连接池 三、[SpringDataRedis](https://spring.io/projects/spring-data-redis)3.1、介绍3.2、RedisTemplate3.3、SpringDataRedis使用步骤3.4、SpringDataRedis的序…...

Visual Stdio 2019 win10 64bit下 无法找到 资源编译器DLL,请确认路径是否正确,和无法下载 win10SDK_10.0

上面的2个原因 第一个原因是因为安装时候,漏掉勾选 vistual stdio sdk 和 windows 通用c运行时 其中的一项目 第2个原因是没有安装 sdk...

设计模式:中介者模式(C++实现)

在中介者模式中&#xff0c;中介者对象负责协调多个对象之间的交互&#xff0c;将对象之间的耦合度降低。 #include <iostream> #include <string> #include <vector>class Colleague;// 中介者接口 class Mediator { public:virtual void sendMessage(Coll…...

Python常用函数

最近跑实验&#xff0c;记录一些常用的 Python 函数&#xff0c;便于自己复习和学习&#xff0c;仅用来学习。 1.Python 中的 os.path.join() 参考该文章 深度了解 在 Python 中&#xff0c;处理文件和目录路径是常见的任务。为了简化路径的拼接和操作&#xff0c;Python 提供…...

进程与线程的记忆方法

有很多人经常会分不清进程与线程的关系&#xff0c; 嗯。。。。。。可能只有我自己记不清吧 举个例子&#xff1a; 进程&#xff1a;登录一个qq号&#xff0c;就是一个进程。 线程&#xff1a;同时打开多个窗口聊天&#xff0c;就是多个线程。 每次记忆完&#xff0c;过了一段…...

支持私有化部署的 WorkPlus,助您构建定制化的即时通讯平台

随着信息技术的飞速发展&#xff0c;企业对于即时通讯平台的需求也不断提升。而在信息安全日益重要的时代背景下&#xff0c;随之而来的是对数据保护和隐私安全的高度关注。私有化即时通讯平台应运而生&#xff0c;成为企业保护数据安全的守护者。在众多品牌中&#xff0c;Work…...

adjustText库解决深度学习、视觉模型matplotlib画散点图时由于标签非常多导致的重叠现象

pytorch框架 import matplotlib.pyplot as plt import numpy as np from adjustText import adjust_texty [30.48, 30.71, 30.52, 31.35, 31.53, 31.54, 31.82, 32.13, 32.21, 32.15, 31.92, 32.24, 32.21, 32.20, 32.35] x [0.057, 0.012, 0.025, 0.665, 1.774, 0.813, 0.55…...

机器学习线性回归学习总结笔记

线性回归模板&#xff1a; 1&#xff09;获取数据: 2&#xff09;划分数据集&#xff1a; 一般使用&#xff1a;train_test_split&#xff08;&#xff09; 划分数据集的包from sklearn.model_selection import train_test_split 3&#xff09;标准化处理 StandardScaler…...

火狐连接错误代码SEC_ERROR_UNKNOWN_ISSUER

最近开发的实验启动功能&#xff0c;测试人员用火狐浏览进行测试&#xff0c;一直报错 错误代码SEC_ERROR_UNKNOWN_ISSUER 在网上搜索很多文章&#xff0c;都没有解决我的问题&#xff0c;最后自己花时间研究了下&#xff0c;灵感来源于项目中&#xff0c;就类似于白名单的功能…...

react 网页/app复制分享链接到剪切板,分享到国外各大社交平台,通过WhatsApp方式分享以及SMS短信方式分享链接内容

1.需求 最近在做一个国际网站app,需要把app中某个页面的图文链接分享到国外各大社交平台上(facebook,whatapp,telegram,twitter等),以及通过WhatApp聊天方式分享&#xff0c;和SMS短信方式分享链接内容&#xff0c;该怎么做呢&#xff1f;图示如下: 分享到国外各大社交平台&am…...

用智能文字识别技术赋能古彝文数字化之路

目录 1、前言 2、对古彝文古籍的保护迫在眉睫 3、古彝文识别的难点问题 4、古彝文文字识别的关键技术 4.1、智能高清滤镜技术 4.2、图像矫正 4.3、图像增强 4.4、版面还原 5、合合信息识别技术赋能古彝文数字化 1、前言 古彝文指的是在云南、贵州、四川等地的彝族人之…...

QT入门10个小demo——MP4视频播放器

&#x1f64c;秋名山码民的主页 &#x1f602;oi退役选手&#xff0c;Java、大数据、单片机、IoT均有所涉猎&#xff0c;热爱技术&#xff0c;技术无罪 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 获取源码&#xff0c;添加WX 目录 一、前…...

MySQL常用操作

目录 1. 安装MySQL/MariaDB2. 用户管理2.1 用户信息2.2 用户权限privileges 3. 增删改查3.1 增删数据库/表3.2 查询 参考 1. 安装MySQL/MariaDB # 1) 确认是否已安装mysql rpm -qa | grep mysql# 2) &#xff08;如无&#xff09;执行以下命令进行安装 ## 方法一 yum install …...

uni-app 之 Toast 消息提示

uni-app 之 Toast 消息提示 image.png <template> <view class"content"> <u-button click"showToast">Toast 消息提示 </u-button><u-toast ref"uToast"></u-toast></view></template> <…...

C语言--指针进阶3--数组指针

数组指针定义 类比&#xff1a; 整型指针--指向整型的指针 int a 10; int* pa &a; 字符指针--指向字符的指针 char ch a; char* pc &ch; 数组指针--指向数组的指针 int arr[10] { 0 }; int(*p)[10] &arr; // 数组指针 区分&#xff1a;指针数组和数组…...

购物车案例

1功能模块分析 请求动态渲染购物车&#xff0c;数据存vuex 数据框控件 修改数据 动态计算总价和总数量 2脚手架新建项目 终端安装axios&#xff1a;npm install axios -g 基于json-server工具&#xff0c;准备后端接口服务环境:&#xff08;模拟后台假数据&#xff09; 1…...

c++ chrono

chrono chrono是一个time library, 源于boost&#xff0c;现在是C标准 使用时&#xff0c;需要导入chrono&#xff0c;其所有实现均在std::chrono namespace下。 #include <chrono>chrono是一个模版库&#xff0c;使用简单&#xff0c;功能强大&#xff0c;有三个重要…...

实现长短地址的相互映射

长地址请求&#xff0c;返回短地址&#xff0c;如何实现长短地址的相互映射 转换为&#xff1a; 解决方式&#xff1a; 使用发号策略&#xff0c;给每一个长地址发一个号&#xff0c;不停自增&#xff0c;第一个使用这个服务的人得到的短地址是xx.xx/0 第二个是 xx.xx/1 &…...

第1讲:前后端分离思想

什么是前端 前端其实是个很大的范畴。 简单点说&#xff0c;针对浏览器的开发&#xff0c;浏览器呈现出来的页面就是前端。它的实质是前端代码在浏览器端被编译、运行、渲染。前端代码主要由三个部分构成&#xff1a;HTML&#xff08;超文本标记语言&#xff09;、CSS&#xf…...

Windows 下 Docker Desktop 安装教程及常用命令(2026 最新)

Windows 安装 Docker 核心是 Docker Desktop WSL2&#xff08;推荐&#xff09;&#xff0c;家庭版 / 专业版通用&#xff0c;性能好、最稳定&#xff0c;下面是详细步骤。 一、系统与硬件要求 1. 1、系统版本 Windows 10 64 位&#xff1a;家庭 / 专业 / 企业 22H2&#x…...

GSMA:运营商实践AI大模型赋能垂直行业标杆案例集 2025

这份《运营商实践 AI 大模型赋能垂直行业标杆案例集 2025》由 GSMA 发布&#xff0c;聚焦客户服务与运营创新、医疗健康与智慧教育、产业升级与智能制造、公共服务与社会治理四大领域&#xff0c;系统梳理了中国移动、中国电信、中国联通三大运营商携手生态伙伴&#xff0c;将 …...

在构建高并发、海量数据的分布式系统时,数据存储与治理是核心挑战。单机数据库的性能瓶颈、ID 冲突、历史数据膨胀等问题,都需要通过架构层面的设计来解决

在构建高并发、海量数据的分布式系统时&#xff0c;数据存储与治理是核心挑战。单机数据库的性能瓶颈、ID 冲突、历史数据膨胀等问题&#xff0c;都需要通过架构层面的设计来解决。 以下结合具体业务场景&#xff0c;深度解析分布式 ID、分库分表、数据迁移与冷热分离的内部机制…...

如何快速掌握FModel:解锁虚幻引擎游戏资源的完整实战指南 [特殊字符]

如何快速掌握FModel&#xff1a;解锁虚幻引擎游戏资源的完整实战指南 &#x1f3ae; 【免费下载链接】FModel Unreal Engine Archives Explorer 项目地址: https://gitcode.com/gh_mirrors/fm/FModel FModel是一款功能强大的虚幻引擎游戏资源解析工具&#xff0c;能够帮…...

Windows Defender完全卸载终极指南:彻底移除系统安全组件的完整解决方案

Windows Defender完全卸载终极指南&#xff1a;彻底移除系统安全组件的完整解决方案 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.c…...

终极指南:如何为Zotero 6.0安装完美夜间模式插件,告别深夜阅读疲劳

终极指南&#xff1a;如何为Zotero 6.0安装完美夜间模式插件&#xff0c;告别深夜阅读疲劳 【免费下载链接】zotero-night Night theme for Zotero UI and PDF 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-night 还在为深夜阅读文献时刺眼的屏幕光线而烦恼吗&a…...

清华学位论文高效排版:thuthesis一站式规范生成解决方案

清华学位论文高效排版&#xff1a;thuthesis一站式规范生成解决方案 【免费下载链接】thuthesis LaTeX Thesis Template for Tsinghua University 项目地址: https://gitcode.com/gh_mirrors/th/thuthesis &#x1f3af; 价值定位&#xff1a;为什么选择thuthesis模板&a…...

【FastAPI 2.0流式AI响应核心机密】:3大异步协程调度陷阱、2处EventSource底层劫持点、1个未公开的StreamingResponse状态机设计缺陷

第一章&#xff1a;FastAPI 2.0流式AI响应的架构演进与设计哲学FastAPI 2.0 将流式响应能力从实验性支持提升为核心原语&#xff0c;其底层重构了 Starlette 的响应生命周期与事件循环集成机制&#xff0c;使 Server-Sent Events&#xff08;SSE&#xff09;、text/event-strea…...

大模型赋能金融底稿搜索:告别大海捞针,实现高效精准合规管理!

文章主要介绍了达观数据利用大模型技术升级其底稿搜索产品&#xff0c;为金融行业带来革命性的变化。传统底稿搜索存在关键词匹配局限、非结构化文件解析困难、溯源关联不便和合规风险高等问题。达观数据通过深度语义理解、全格式解析兼容、智能要素抽取、全链路溯源关联和开箱…...

别再混淆了!FFmpeg提取AAC/H264流时常见的3个容器格式误区

别再混淆了&#xff01;FFmpeg提取AAC/H264流时常见的3个容器格式误区 第一次用FFmpeg提取音频时&#xff0c;我把.m4a文件直接重命名为.aac&#xff0c;结果播放器报错——这个看似简单的操作背后&#xff0c;隐藏着容器格式与编码格式的深层差异。本文将用真实踩坑案例&#…...