Python编码规范与代码优化

news2024/11/30 10:30:49

博主:命运之光

专栏:Python程序设计

Python编码规范

Python的程序由包、模块(即一个Python文件)、函数、类和语句组成

(1) 命名规则

变量名、包名、模块名通常采用小写字母开头,如果名称中包含多个单词,一般采用第一个单词全部小写,后面每一个单词首字母大写的驼峰表示法,如myBook。也可以采用下划线_分隔的全部小写形式,如student_name。

常量建议使用全大写方式,如PI。

类名采用首字母大写,多个单词使用驼峰表示法,如BookInfo。

函数名一般采用小写字母,多个单词使用驼峰表示法。getName();get_name()

(2) 代码缩进

使用Tab键和空格来进行代码缩进,但是不要混用Tab和空格来缩进。Python中的缩进代表程序块的作用域, 如果采用了错误的代码缩进,会导致程序抛出异常。

(3) 空格/空行

函数或者语句块之间使用空格行来分隔,以分开两段不同功能的代码块, 增强可读性。运算符两侧建议使用空格进行分隔,函数参数赋值语句两侧不加空格。

(4) 注释---#单行注释、 """ 多行注释"""

注释有助于对程序的理解和团队合作开发,对函数、类一定要添加功能性、使用性注释说明,对于复杂的算法也要适当注释。

(5) 每个import语句只导入一个模块,尽量避免一次导入多个模块。

(6) 如果一行语句太长,可以在行尾使用续行符“\” ,在下一行继续写代码。

(7) 适当使用异常处理结构提高程序的容错性和健壮性。

import string
class Stack():
	def__init__(self,  size=10):
		self.__content = []              #定义列表存放栈的元素
		self.__size = size                #初始化栈的大小
			self.__current = 0               #栈中元素个数初始化为0
# 将堆栈清空
	def empty(self):
		self.__content = []
		self.__current = 0
# 判断堆栈是否为空
	def isEmpty(self):
		if not self.__content:
			return True
		else:
			return False

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1051851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Axure】Axure的常用功能

选择 分为相交选中和包含选中 相交选中:部分选中即是选中包含选中:全选才是选中 缩放 按住元件四角,等比例缩放 置顶和置底 所谓置于顶层就是不被后来的元件覆盖住,置于底层的意思则相反 组合、对齐、分布 组合&#xff1…

redis主从从,redis-7.0.13

redis主从从,redis-7.0.13 下载redis安装redis安装redis-7.0.13过程报错1、没有gcc,报错2、没有python3,报错3、[adlist.o] 错误 127 解决安装报错安装完成 部署redis 主从从结构redis主服务器配置redis启动redis登录redisredis默认是主 redi…

【CMU15-445 Part-13】Query Execution II

Part13-Query Execution II talk about how to execute with multiple workers TCO:Total Cost of Ownship Parallel VS. Distributed 区分数据库系统的并行执行和分布式数据库系统的分布式执行 数据库通过分散multiple resources 来改善数据库某些方面的性能 …

手动实现Transformer

Transformer和BERT可谓是LLM的基础模型,彻底搞懂极其必要。Transformer最初设想是作为文本翻译模型使用的,而BERT模型构建使用了Transformer的部分组件,如果理解了Transformer,则能很轻松地理解BERT。 一.Transformer模型架构 1…

css实现四角圆边框

摘要: 做大屏的项目时,遇到很多地方要用到不同尺寸的盒子需要圆角的效果,所以不可能要求ui弄那么多图片的,并且那么多图片加载速度很慢的,比较臃肿,大屏要求的就是流畅,所以这用css加载很快的&a…

基于Java的旅游管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

Linux系统下git相关使用

目录 git相关指令以及使用 什么是git Linux系统git功能的配置 关于码云的注册以及仓库的创建 git的相关指令 git clone 代码仓库地址 git add [文件名] git commit [文件名] -m "文件提交信息" git push git status 情况1:存在文件可以add 情况2&#xff…

KNN(下):数据分析 | 数据挖掘 | 十大算法之一

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…

025 - STM32学习笔记 - 液晶屏控制(二) - 代码实现

025- STM32学习笔记 - 液晶屏控制(二) - 代码实现 好久没更新学习笔记了,最近工作上的事情太多了,趁着国庆中秋,多更新一点看看。 上节学习了关于LTDC与DMA2D以及显示屏的相关知识点,这节开始实操&#xf…

[谷粒商城笔记]08、环境-linux安装docker

1.查看是否已安装docker列表 yum list installed | grep docker 如果没有结果,则说明没有安装docker,我们就可以直接安装了。 2.安装docker: yum -y install docker 如果不是root账号,使用 sudo 以管理员身份运行 sudo yum -y install …

CentOS 7 安装 MySQL5.7

CentOS 7 安装 MySQL5.7 安装wget: yum -y install wget进入/usr/local/下: cd /usr/local/新建mysqlrpm文件夹: mkdir mysqlrpm进入mysqlrpm文件夹下: cd /usr/local/mysqlrpm/下载mysql包安装源: wget http://…

MySQL单表查询与多表查询

目录 一、单表查询 ​编辑 1、显示所有职工的基本信息。 ​编辑2、查询所有职工所属部门的部门号,不显示重复的部门号。 ​编辑3、求出所有职工的人数。 4、列出最高工和最低工资。 ​编辑5、列出职工的平均工资和总工资。 ​编辑6、创建一个只有职…

FreeRTOS两个死机原因(中断调用接口异常)【杂记】

1、中断回调函数中没有使用中断级API (xxFromISR) 函数 xSemaphoreGiveFromISR(uart_busy,&HighterTask);----正确 xSemaphoreGive(uart_busy);-----错误2、比configMAX_SYSCALL_INTERRUPT_PRIORITY优先级高的中断函数中使用了FreeRTOS的函数 3、临界代码保护后不可调用os…

安全基础 --- MySQL数据库的《锁》解析

MySQL的ACID (1)ACID是衡量事务的四个特性 原子性(Atomicity,或称不可分割性)一致性(Consistency)隔离性(Isolation)持久性(Durability) &…

(一)TinyWebServer的环境配置与运行

Linux下C轻量级Web服务器,项目来源于:TinyWebServer 配置环境(为下载代码,编译运行做准备) 1. 安装VMware VMware官网 选择产品,点击Workstation Pro 下载试用版(注:需要在官网注册…

Java自学(三)面向对象编程

目录 什么是面向对象 举例 this关键字和构造器 实体类 电影小案例 什么是面向对象 我们日常生活中谈到一个事物,总会描述它的性质与行为,这个事物也就是 ”对象”。比如一个学生对象,他的属性有姓名、学号、成绩......他的行为有上课、…

【C++】C++模板进阶 —— 非类型模板参数、模板的特化以及模板的分离编译

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C学习 🎯长路漫漫浩浩,万事皆有期待 上一篇博客:【C】C多…

史玉柱复出一年:巨人股权第三次被冻结,力推AI+游戏

大数据产业创新服务媒体 ——聚焦数据 改变商业 一则股权冻结信息,又一次将复出一年的史玉柱推上风口浪尖。 天眼查APP显示,巨人投资近日新增一则股权冻结信息,被执行人为史玉柱,冻结股权数额1.14亿元,冻结期限为三年…

Visual Studio 中将TAB设置为空格

将TAB设置为空格的原因很多,其中一点是为了统一不同编译器对TAB的解释,防止代码风格在不同编译器下不一致等。 在菜单中选择: 工具-->选项-->文本编辑器--->所有语言-->制表符 在窗口中选择,制表符大小和缩进大小都选为4&#xf…

【从入门到起飞】JavaSE—Stream流

🎊专栏【JavaSE】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🥰欢迎并且感谢大家指出我的问题 文章目录 🍔Stream流的作用🍔Stream流的使用步骤🎄获取Strea…