Python编码风格
Python代码的常用排版格式主要遵循PEP 8规范,这是Python社区广泛接受的编码风格指南。以下是一些关键的排版格式要求:
一、缩进
- 使用4个空格作为缩进级别,不要使用Tab键,更不能混合使用Tab和空格。
二、行长度
- 每行代码的最大长度不应超过79个字符。
- 如果代码行过长,需要使用圆括号、方括号或花括号进行换行,第二行第一个字符需要与括号里的第一个字符对齐。
- 注释或文档字符串的长度不应超过72个字符。
三、空行
- 类定义之间用两个空行分隔。
- 函数定义之间、类中的方法定义之间以及函数内逻辑无关段落之间用一个空行分隔。
- 导入语句之间、导入语句与全局变量之间、全局变量与其他定义之间也建议使用空行分隔,以提高代码的可读性。
四、空格
- 在运算符(如
=,==,+,-等)两边各使用一个空格。 - 在列表、字典、元组和参数列表中,逗号后使用一个空格。
- 不要在右括号前、逗号、冒号、分号前以及函数的左括号前加空格。
- 序列的左括号前不要加空格,例如
list[2]。
五、命名规范
- 变量名:使用小写字母,单词间用下划线分隔。
- 函数名:同样使用小写字母和下划线。
- 常量名:使用全大写字母,单词间用下划线分隔。
- 类名:使用首字母大写的驼峰命名法。
- 异常命名:使用CapWords+Error后缀的方式。
六、注释
- 单行注释:使用
#后跟一个空格和注释内容。 - 多行注释:使用三个双引号
"""包围。 - 注释应简洁明了,避免无谓的注释。
七、导入规范
- 导入语句应该分行书写,不要在一句import中多个库。
- 导入顺序:标准库、第三方库、应用程序指定的导入,每组之间用空行分隔。
- 绝对导入优于相对导入。
八、异常处理
- 明确区分不同的异常,尽量不要使用裸露的
except:,而是明确指定异常。 - 在处理异常时,尽可能提供详细的信息。
九、其他建议
- 类的属性应该放在方法之前。
- 私有方法和属性以两个下划线开头。
- 使用
.format()或f-字符串进行字符串格式化,而不是传统的%格式化。 - 在编码中考虑到其他Python实现的效率等问题,例如运算符
+在CPython中效率很高,但在Jython中却非常低,因此应根据具体需求选择合适的实现方式。
遵循这些排版格式要求,可以使Python代码更加整洁、易读和易于维护。
相关文章:
Python编码风格
Python代码的常用排版格式主要遵循PEP 8规范,这是Python社区广泛接受的编码风格指南。以下是一些关键的排版格式要求: 一、缩进 使用4个空格作为缩进级别,不要使用Tab键,更不能混合使用Tab和空格。 二、行长度 每行代码的最大…...
flask创建templates目录存放html文件
首先,创建flask项目,在pycharm中File --> New Project,选择Flask项目。 然后,在某一目录下,新建名为templates的文件夹,这时会是一个普通的文件夹。 然后右击templates文件夹,选择Unmark as …...
微信小程序里的小游戏研发需要什么技术栈
研发小程序里的小游戏通常需要以下技术栈: 前端技术 HTML5 / CSS3:用于构建游戏的界面布局和样式。JavaScript:作为核心编程语言,实现游戏的逻辑和交互。小程序开发框架:如微信小程序的开发框架,了解其 API…...
2024年上半年网络工程师案例分析真题及答案解析
2024年上半年网络工程师案例分析真题及答案解析 1、试题一(20分) 阅读以下说明,回答问题。 [说明]某高校网络拓扑如下图所示,两校区核心(CORE-1,CORE-2),出口防火墙(NGFW-1,NGFW-2)通过校区间光缆互联,配置OSPF实现全校路由收效,校区相距40km。两校区默认由本地出…...
Ant Design Vue v4版本如何解决1px没有被postcss-px2rem转成rem的问题
背景说明 如果你的 Ant Design Vue 项目有要做适配的需求,那首先要选择一种适配方案。笔者选择的是用 postcss-px2rem 进行适配。笔者在配置了 postcss-px2rem的相关配置后,发现 postcss-px2rem 没有对 Ant Design Vue 进行适配。在网上看了一些文章之后…...
武汉科技大学《2024年814自动控制原理真题》 (完整版)
本文内容,全部选自自动化考研联盟的:《武汉科技大学814自控考研资料》的真题篇。后续会持续更新更多学校,更多年份的真题,记得关注哦~ 目录 2024年真题 Part1:2024年完整版真题 2024年真题...
【锂电池实战】A123磷酸铁锂在线参数识别-一阶戴维南模型
A123磷酸铁锂在线参数识别-一阶戴维南模型 提要 理论介绍:一篇就够了,为你答疑解惑:锂电池一阶模型-在线参数辨识(附代码)_在线参数辨识方法-CSDN博客 数据源:Battery Data | Center for Advanced Life Cycle Engineering 打包下载地址:A123-DST-US06-FUDS-25.zip资源…...
Java多线程与线程池技术详解(四)
接受失败:“失败是什么?没有什么,只是更走近成功一步;成功是什么?就是走过了所有通向失败的路,只剩下一条路,那就是成功的路。”这句话很好地诠释了如何看待失败的问题,即每一次跌倒…...
树莓派开发笔记
一. 登录方式 1.1 方式一:HDMI视频线 1.2 方式二:串口 查看串口有否被加密,默认情况下树莓派串口和蓝牙连接,需先断开蓝牙连接,串口才能用于数据通信。 1.2.1 如何使用串口登录 打开SD卡根目录的"config.txt"文件,将以下内容添加在最后并且保存。这样就停止…...
【数据结构】遍历二叉树
遍历二叉树的算法描述(递归定义) 先序遍历 若二叉树为空,则空操作; 否则 (1)访问根节点 (2)先序遍历左子树 (3)先序遍历右子树 中序遍历 若二叉树为空…...
嵌入式蓝桥杯学习7 产生PWM
Cubemx配置 打开cubemx,前面的配置看上文,这里主要配置定时器产生PWM波。 以PA1的TIM2-CH2通道为例进行演示。 1.在Timers中打开TIM2,将Channel2配置为PWM Generation CH2。 2.将Clock Source 选择为Internal Clock。 3.配置Paramater Settings中的参…...
档案学实物
档案工作 档案工作的性质 服务性 文化性 管理性 政治性 科学性 档案工作的地位 档案工作的效益 社会性,隐蔽性,滞后性 档案工作的发展规律 档案收集 档案收集工作的内容意义 档案收集工作的具体要求 档案室的档案收集工作 档案馆的档案收集工作 档案…...
数据清洗代码:缺失值,异常值,离群值Matlab处理
目录 基本介绍程序设计参考资料基本介绍 一、过程概述 本过程适用于处理SCADA系统采集到的数据,以及具有类似需求的数据集。处理步骤包括缺失值处理、异常值处理和离群值处理,旨在提升数据质量,增强数据的相关性,同时保持数据的原始特征和随机性。 二、缺失值处理 对于SC…...
Windows设备go环境安装配置
一、下载go安装包 官网链接:All releases - The Go Programming Language (google.cn) 安装过程比较简单,这里不再赘述,可参考这位博主的文章。本文重点在环境配置。golang环境详细安装、配置_golang安装-CSDN博客 二、环境变量配置 1.添…...
导体、半导体和绝缘体
半导体可以根据不同的组合去改变电阻,所以可以用来制作芯片。...
shell 6 if条件判断与for循环结构 (泷羽sec)
声明 学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章。 笔记只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 这节课旨在扩大自己在网络安全方面的知识面,了解网络安全领域的见闻,了…...
MetaGPT 安装
1. 创建环境 conda create -n metagpt python3.10 && conda activate metagpt2. 可编辑方式安装 git clone --depth 1 https://github.com/geekan/MetaGPT.git cd MetaGPT pip install -e .3. 配置 metagpt --init-config运行命令,在C盘位置C:\Users\325…...
论文阅读:Single-cell transcriptomics of 20 mouse organs creates a Tabula Muris
The Tabula Muris Consortium., Overall coordination., Logistical coordination. et al. Single-cell transcriptomics of 20 mouse organs creates a Tabula Muris. Nature 562, 367–372 (2018). 论文地址:https://doi.org/10.1038/s41586-018-0590-4 代码地址…...
图生3d 图生全景 学习笔记
目录 instantsplat Aluciddreamer ZoeDepth 会自动下载模型: 图生全景图SD-T2I-360PanoImage: instantsplat Sparse-view SfM-free Gaussian Splatting in Seconds 稀疏视图无SfM高斯喷洒 GitHub - NVlabs/InstantSplat: InstantSplat: Sparse-vi…...
分库分表—4.数据迁移系统文档
大纲 1.数据库设计 2.枚举类 3.接⼝设计 4.定时任务设计 (1)定时核对校验数据的定时任务 (2)数据量统计定时任务 (3)增量数据落地定时任务 (4)失败重试定时任务 5.技术亮点 (1)滚动拉取方案 (2)巧妙的统计滚动进度方案 (3)防止增量同步数据丢失和高效写入方案 (4)…...
避坑指南:在Windows/Linux双环境下部署ThinkPHP6+MQTT服务的那些事儿
跨平台实战:ThinkPHP6与MQTT服务在Windows/Linux混合环境中的部署精要 当开发者需要在Windows本地开发环境与Linux生产服务器之间部署ThinkPHP6与MQTT服务时,往往会遇到各种意想不到的"坑"。本文将深入探讨这一混合环境下的关键技术难点&#…...
Matlab进阶技巧:如何用hatchfill2和legendflex打造专业级纹理柱状图
Matlab数据可视化进阶:用hatchfill2与legendflex打造学术级纹理柱状图 在科研论文或商业报告中,单调的纯色柱状图往往难以清晰传达多维数据的层次关系。当需要区分5种以上的数据类别时,即使用尽所有高对比度颜色,依然会面临辨识度…...
3个高效解决Atlas OS中Xbox登录错误的终极技巧指南
3个高效解决Atlas OS中Xbox登录错误的终极技巧指南 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/Atlas A…...
保姆级教程:在RHEL 8上彻底搞定X-Server远程连接,让xeyes不再报‘Error can‘t open display‘
深度解析RHEL 8远程X11连接:从原理到实战的全链路解决方案 当你在RHEL 8服务器上尝试通过SSH转发X11图形界面时,是否遇到过xeyes测试程序报出"Error: Cant open display"的困扰?这看似简单的错误背后,实际上隐藏着新版R…...
除了HDFS,DolphinScheduler资源中心还能怎么玩?聊聊S3与本地存储的配置差异
DolphinScheduler资源中心存储方案深度对比:从HDFS到S3的架构选型指南 在数据调度平台的实际部署中,存储后端的选型往往决定了系统整体的扩展性和运维成本。作为Apache DolphinScheduler的核心组件,资源中心支持多种存储类型配置,…...
避坑指南:金融风控建模中最容易被忽略的5个数据陷阱(以贷款违约预测为例)
金融风控建模实战:避开数据处理的五大隐形陷阱 在金融风控领域,数据科学家们常常陷入一个怪圈:模型越调越复杂,但预测效果却停滞不前。我曾见证过一个团队花费三个月优化算法,最终发现问题的根源竟是数据预处理阶段的…...
终极指南:Aimeos数据库设计与优化——处理亿级商品数据的高效架构方案
终极指南:Aimeos数据库设计与优化——处理亿级商品数据的高效架构方案 【免费下载链接】aimeos Integrated online shop based on Laravel 10 and the Aimeos e-commerce framework for ultra-fast online shops, scalable marketplaces, complex B2B applications …...
睿尔曼超轻量仿人机械臂--控制器与末端接口深度解析
1. 睿尔曼机械臂接口设计理念解析 第一次拿到睿尔曼机械臂时,最让我惊讶的是它的极简设计——传统机械臂必备的控制柜、示教器和缠绕的线缆统统不见了,整个系统就只有一个机械臂本体。这种高度集成化的设计背后,其实隐藏着两个关键接口模块&a…...
8个智能脚本,让Illustrator设计效率提升10倍
8个智能脚本,让Illustrator设计效率提升10倍 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 设计效率的隐形杀手:你是否也在重复劳动? 每天花费…...
AutoGen Studio实战分享:用Qwen3-4B模型实现自动化任务处理
AutoGen Studio实战分享:用Qwen3-4B模型实现自动化任务处理 1. AutoGen Studio简介与核心价值 AutoGen Studio是一个低代码界面,专为快速构建AI代理而设计。它基于AutoGen AgentChat构建,提供了高级API用于创建多代理应用。这个工具的核心价…...
