python编码规范

简介: python编码规范

前言


python的代码编写基本上都要遵循PEP8的风格。


正文


1.命名


函数、变量及属性都应该用小写单词拼写,只见用_连接,不遵循驼峰命名法

类与异常应该首字母大写,不要用_连接

受保护的实例属性,应以单下划线开头

实例的私有属性,应以双下划线开头

模块级别的变量单词都要大写,中间以单下划线隔开

变量要尽可能有意义


2.空白


和语法相关的每一层缩进都用4个空格表示

赋值时等号两边都要有一个空格

每一行所占用的字符数应不超过79,实际操作中应当尽量不让代码编辑器的行滚动条显示出来

在使用函数进行函数式编程时,函数之间要空两行

在类中的函数,函数之间应该空一行

函数与类是同一个级别,则他们之间应该空两行

对于超出每行规定的字符数的长表达式,应当敲回车缩进,通常除了首行其余各行都要在原来的基础上再次缩进4个空格


3.语句


判断变量是否为None、False或True时不要用==,要用is,例如,if a is None

import语句应放在句首,导入时要尽量使用绝对导入不要使用相对导入,并且导入时最好指定相应的模块的某一具体功能,例如,from datetime import datetime

模块导入时应根据标准库模块、第三方模块以及自用模块进行分类

检测容器不为空时,应使用if 容器名,例如,lists = [] if lists

采用内联形式的否定词,不要把否定词放在整个表达式的前面,例如,应该if a is not None 而不是 if not a is None


4.注释


对某些重要的代码块的功能说明,应使用单行注释

对整个模块功能的说明应使用多行注释

对类或函数的功能及使用方法的详细说明应使用文档字符串

python的注释尽量使用英文


5.并发


I/O密集型,像web应用这样的场景应该使用多线程编程

计算密集型,像计算圆周率等场景应该使用多进程编程,尽可能利用多核CPU优势

   当然在编写代码时你的某些编辑器如pycharm会帮助你检测代码规范,只要认真遵循一般不会出什么问题。我们编写代码不仅是要实现某种功能,就尽管它是核心,但是你的代码在以后极有可能会交给别人去维护,所以你写的代码应当尽可能地让人看懂,避免给别人留坑。


相关文章
WK
|
Python
pyhon设计规范
Python设计规范涵盖代码布局、命名、注释、函数编写、模块化设计等方面,确保代码的可读性和可维护性。具体包括:使用4个空格缩进、行宽不超过79字符、变量和函数名全小写、类名首字母大写,采用驼峰命名法,添加内联注释和文档字符串,函数长度不超过20行,单一职责,明确返回值,模块化设计避免循环依赖,减少全局变量使用,遵循PEP 8规范。遵循这些规范有助于编写清晰、可读、可维护的Python代码。
WK
603 1
WK
|
开发者 Python
Python 设计规范
Python的设计规范覆盖了代码布局、命名、注释、函数编写及模块化设计等多个方面,旨在提升代码的可读性与维护性。其中包括缩进、行宽、空行等布局要求;变量、函数、类等命名规则;单行与多行注释说明;函数长度与职责划分;模块的单一职责、开放封闭与依赖倒置原则;避免硬编码并使用有意义的命名;以及遵循PEP 8官方编码标准,以确保代码风格的一致性。遵循这些规范能帮助开发者编写更高质量且易于维护的Python代码。
WK
697 2
|
存储 JSON 安全
Python中数据类转换为JSON的方法
Python中数据类转换为JSON的方法
415 0
|
4月前
|
消息中间件 人工智能 缓存
单一智能体 + MCP看似全能,为何却隐藏诸多局限?
本文产品专家三桥君对比了AI应用开发中的两种架构选择:单一智能体配合MCP协议和多智能体系统(MAS)。单一智能体架构通过MCP协议调用工具,适合中小型项目和快速上线,但存在中心化瓶颈和单点故障风险。MAS由多个智能体协作,支持专业分工和高并发,但设计复杂、协调成本高。三桥君通过客户服务助手、投资分析等案例展示了不同架构的适用场景,并提供了技术栈推荐和部署建议,强调应根据业务需求、资源和技术能力选择合适架构,平衡效率与复杂度。
285 0
|
2月前
|
存储 人工智能 自然语言处理
从零搭建RAG应用:跳过LangChain,掌握文本分块、向量检索、指代消解等核心技术实现
本文详解如何从零搭建RAG(检索增强生成)应用,跳过LangChain等框架,深入掌握文本解析、分块、向量检索、对话记忆、指代消解等核心技术,提升系统可控性与优化能力。
334 0
从零搭建RAG应用:跳过LangChain,掌握文本分块、向量检索、指代消解等核心技术实现
|
4月前
|
人工智能 缓存 测试技术
从零搭建智能搜索代理:LangGraph + 实时搜索 + PDF导出完整项目实战
本系统的核心特性包括:基于智能判断机制的自动网络搜索触发、跨多轮对话的上下文状态管理、多策略搜索机制与智能回退、透明的信息源追溯体系,以及专业级PDF文档生成功能。
217 0
|
5月前
|
NoSQL MongoDB 开发者
Python与MongoDB的亲密接触:从入门到实战的代码指南
本文详细介绍了Python与MongoDB结合使用的实战技巧,涵盖环境搭建、连接管理、CRUD操作、高级查询、索引优化、事务处理及性能调优等内容。通过15个代码片段,从基础到进阶逐步解析,帮助开发者掌握这对黄金组合的核心技能。内容包括文档结构设计、批量操作优化、聚合管道应用等实用场景,适合希望高效处理非结构化数据的开发者学习参考。
305 0
|
数据采集 小程序 API
通义千问Qwen2.5-Coder 全系列来咯!强大、多样、实用
千问团队开源了强大的 Qwen2.5-Coder 系列模型,涵盖 0.5B 到 32B 六种尺寸,旨在推动开放代码模型的发展。该系列模型在代码生成、修复和推理等方面表现出色,支持多种编程语言,并在多个基准测试中达到 SOTA 水平。此外,Qwen2.5-Coder 还提供了丰富的应用场景,如代码助手、Artifacts 和 Interpreter,满足不同开发者的需求。
4195 106
|
11月前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
252 33
|
安全 数据安全/隐私保护 开发者
Flask框架的安全性如何?
安全是一个持续的过程,需要不断地关注和更新。随着新的安全威胁的出现和技术的发展,开发者需要及时了解并采取相应的措施来应对,以确保 Flask 应用始终处于安全的状态。
458 63