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

python中设置代码格式,函数编写指南,类的编程风格

4.6 设置代码格式

随着你编写的程序越来越长,确保代码格式一致变得尤为重要。花时间让代码尽可能易于阅读,这不仅有助于你理解程序的功能,也能帮助他人理解你的代码。

为了保证所有人的代码结构大致一致,Python程序员遵循一系列格式设置约定。一旦你学会了编写整洁的Python代码,就能轻松理解他人遵循相同指南编写的代码。成为一名专业程序员,应从现在开始遵循这些指南,培养良好的习惯。

4.6.1 格式设置指南

Python Enhancement Proposal (PEP) 用于提出Python语言的修改建议。PEP 8是最古老的PEP之一,为Python程序员提供了代码格式设置的指南。PEP 8的内容详尽,主要涉及复杂的编码结构。

编写者深知代码被阅读的次数远超编写次数。无论是调试、添加新功能还是共享代码,清晰的格式都是关键。若必须在易写和易读之间抉择,Python程序员几乎总倾向于后者。以下指南可助你从一开始就编写出清晰的代码。

4.6.2 缩进

PEP 8推荐每级缩进使用4个空格,这提高了可读性,并留有足够的空间用于多级缩进。

在文档处理中,人们常用制表符而不是空格进行缩进,但这在Python中可能导致问题。确保你的编辑器设置为将制表符转换为指定数量的空格。在编写代码时,尽管可以使用Tab键,但编辑器应插入空格而非制表符。

混合使用制表符和空格可能引发难以诊断的问题。如果已混合使用,应将文件中的所有制表符转换为空格,大多数编辑器具备此功能。

4.6.3 行长

建议每行代码不超过80个字符。虽然现代屏幕每行可容纳更多字符,但标准行长度便于在同一屏幕并排查看多个文件时保持清晰度。PEP 8建议注释行不超过72个字符。

行长度指南并非强制性,一些团队允许最长99个字符。在学习阶段不必过于关注行长度,但在团队协作时,大家普遍遵循PEP 8的指导。大多数编辑器可设置视觉标志(如竖线),提醒你行长度界限。

4.6.4 空行

合理使用空行来分隔代码的不同部分。使用空行组织代码文件,但避免滥用。例如,创建列表的5行代码与处理列表的3行代码间,使用一行空行分隔即可。

空行不影响代码运行,但影响可读性。Python解释器依据水平缩进来解析代码,而不关心垂直间距。

4.6.5 其他格式设置指南

PEP 8包含更多格式设置建议,适用于更复杂的程序结构。随着你学习更高级的Python概念,我们将分享更多PEP 8的相关指南。

8.7 函数编写指南

命名规范

  • 函数名应使用描述性名称,且只使用小写字母和下划线。
  • 模块命名也应遵循上述约定。

注释和文档字符串

  • 每个函数都应包含简要阐述其功能的注释,紧跟在函数定义后面,并采用文档字符串的格式。

参数和关键字实参

  • 给形参指定默认值时,等号两边不要有空格:
def function_name(parameter_0, parameter_1='default value')
  • 函数调用中的关键字实参也应遵循这种约定:
function_name(value_0, parameter_1='value')

代码行长度

PEP 8 建议代码行的长度不要超过 79 个字符。
如果形参很多,导致函数定义的长度超过 79 个字符,可在函数定义中输入左括号后按回车键,并在下一行连按两次制表符键,从而将形参列表和只缩进一层的函数体区分开来:

def function_name(parameter_0, parameter_1, parameter_2,parameter_3, parameter_4, parameter_5):function body...

函数间距

  • 如果程序或模块包含多个函数,可使用两个空行将相邻的函数分开。

import 语句

所有的 import 语句都应放在文件开头。唯一的例外是,你要在文件开头使用注释来描述整个程序。

9.6 类的编程风格

类名应采用驼峰命名法,即将类名中的每个单词的首字母都大写,并且不使用下划线。实例名和模块名都采用全小写格式,并在单词之间加上下划线。

对于每个类,都应在类定义后面紧跟一个文档字符串。这种文档字符串应简洁明了地描述类的功能和用途,以便其他开发者能够快速理解类的用途和使用方法。
对于每个类,都应在类定义后面紧跟一个文档字符串。这种文档字符串应简洁地描述类的功能,你应该遵循编写函数的文档字符串时采用的格式约定。每个模块也都应包含一个文档字符串,对其中的类可用来做什么进行描述。

可以使用空行来组织代码,但不宜过多。在类中,可以使用一个空行来分隔方法;而在模块中,可以使用两个空行来分隔类。

当需要同时导入标准库中的模块和你编写的模块时,先编写导入标准库模块的 import 语句,再添加一个空行,然后编写导入你自己编写的模块的 import 语句。在包含多条 import 语句的程序中,这种做法让人更容易明白程序使用的各个模块来自哪里。

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

相关文章:

  • CentOS 8升级gcc版本
  • Kafka基础入门篇(深度好文)
  • C++之复合资料型态KU网址第二部V蒐NAY3989
  • 乡镇集装箱生活污水处理设备处理效率高
  • 计算机网络高频面试题
  • 进程通信(1):无名管道(pipe)
  • YOLOv10改进 | 损失函数篇 | SlideLoss、FocalLoss、VFLoss分类损失函数助力细节涨点(全网最全)
  • 【数组、特殊矩阵的压缩存储】
  • Flat Ads:金融APP海外广告投放素材的优化指南
  • DBA 数据库管理 表管理 数据批量处理。表头约束
  • C# 上位机开发之旅-委托事件的那些事[2]
  • 浏览器出现 502 Bad Gateway的原理分析以及解决方法
  • Java的高级特性
  • pip install selenium异常
  • 应急响应总结
  • 一些资源(●ˇ∀ˇ●)
  • WGCLOUD的ping设备监测可以导入excel数据吗
  • vue 画二维码及长按保存
  • IDEA中Git常用操作及Git存储原理
  • 人工智能算法工程师(中级)课程4-sklearn机器学习之回归问题与代码详解
  • 智能制造热点词汇科普篇——工业微服务
  • FastGPT+OneAI接入网络模型
  • Java核心篇之JVM探秘:内存模型与管理初探
  • 未来互联网的新篇章:深度解析Facebook的技术与战略
  • MySQL卸载 - Windows版
  • Java核心篇之JVM探秘:对象创建与内存分配机制
  • Nuxt框架中内置组件详解及使用指南(五)
  • python开发遇到的坑汇总
  • 【线性表,线性表中的顺序表和链表】
  • 46 mysql 客户端拿不到具体的错误信息