糯麦 NurMai

400-158-5662

糯麦科技

/

新闻资讯

/

技术讨论

/

Python编码规范,你全掌握了吗?

Python编码规范,你全掌握了吗?

原创 新闻资讯

于 2023-09-11 09:29:41 发布

16793 浏览

1.jpg

两段功能相同的Python代码


图中右侧的代码段看上去比左侧的代码段更加规整,阅读起来也会比较轻松、畅快,这是一种最基本的代码编写规范。遵循一定的代码编写规则和命名规范可以使代码更加规范化,对代码的理解与维护都会起到至关重要的作用。


本节将对Python代码的编写规则以及命名规范进行介绍。


1.  编写规则


Python中采用PEP 8作为编码规范,其中PEP是Python Enhancement Proposal(Python增强建议书)的缩写,而“PEP 8”中的“8”表示版本号。PEP 8是Python代码的样式指南。下面给出PEP 8编码规范中的一些应该严格遵守的条目。


 每个import语句只导入一个模块,尽量避免一次导入多个模块。如图11所示的推荐写法,而图12所示的代码为不推荐的写法。


2.jpg


推荐写法


3.jpg


不推荐写法


不要在行尾添加分号“;”,也不要用分号将两条命令放在同一行。图13所示的代码为不规范的写法。


4.jpg


不规范写法


建议每行不超过80个字符,如果超过,建议使用小括号“()”将多行内容隐式的连接起来,而不推荐使用反斜杠“\”进行连接。例如,如果一个字符串文本不能在一行上完全显示,那么可以使用小括号“()”将其分行显示,代码如下:


s=("我一直认为我是一只蜗牛。我一直在爬,也许还没有爬到金字塔的顶端。"


      "但是只要你在爬,就足以给自己留下令生命感动的日子。")


以下通过反斜杠“\”进行连接的做法是不推荐使用的:


s="我一直认为我是一只蜗牛。我一直在爬,也许还没有爬到金字塔的顶端。\


但是只要你在爬,就足以给自己留下令生命感动的日子。"


不过以下两种情况除外:


导入模块的语句过长。


 注释里的URL。


使用必要的空行可以增加代码的可读性。一般在顶级定义(如函数或者类的定义)之间空两行,而方法定义之间空一行。另外,在用于分隔某些功能的位置也可以空一行。


通常情况下,运算符两侧、函数参数之间、“,”两侧建议使用空格进行分隔。


应该避免在循环中使用“+”和“+=”运算符累加字符串。这是因为字符串是不可变的,这样做会创建不必要的临时对象。推荐将每个子字符串加入列表,然后在循环结束后使用join()方法连接列表。


适当使用异常处理结构提高程序容错性,但不能过多依赖异常处理结构,适当的显式判断还是必要的。


说明:在编写Python程序时,建议严格遵循PEP 8编码规范。完整的Python编码规范请参考PEP 8。


2.  命名规范


命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以更加直观地了解代码所代表的含义。本节将介绍Python中常用的一些命名规范。


模块名尽量短小,并且全部使用小写字母,可以使用下划线分隔多个字母。例如,game_main、game_register、bmiexponent都是推荐使用的模块名称。


包名尽量短小,并且全部使用小写字母,不推荐使用下划线。例如,com.mingrisoft、com.mr、com.mr.book都是推荐使用的包名称,而com_mingrisoft就是不推荐的。


类名采用单词首字母大写形式(即Pascal风格)。例如,定义一个借书类,可以命名为BorrowBook。


模块内部的类采用下划线“_”+Pascal风格的类名组成。例如,在BorrowBook类中的内部类,可以使用_BorrowBook命名。


函数、类的属性和方法的命名规则同模块类似,也是全部使用小写字母,多个字母间用下划线“_”分隔。


常量命名时全部使用大写字母,可以使用下划线。


使用单下划线“_”开头的模块变量或者函数是受保护的,在使用 from ××× import *语句从模块中导入时这些变量或者函数不能被导入。


使用双下划线“__”开头的实例变量或方法是类私有的。

Python

编程

网站开发

小程序开发

阅读排行

  • 1. 几行代码就能实现Html大转盘抽奖

    大转盘抽奖是网络互动营销的一种常见形式,其通过简单易懂的界面设计,让用户在游戏中体验到乐趣,同时也能增加商家与用户之间的互动。本文将详细介绍如何使用HTML,CSS和JavaScript来实现大转盘抽奖的功能。

    查看详情
  • 2. 浙江省同区域公司地址变更详细流程

    提前准备好所有需要的资料,包含:房屋租赁合同、房产证、营业执照正副本、代理人身份证正反面、承诺书(由于我们公司其中一区域已有注册另外一公司,所以必须需要承诺书)

    查看详情
  • 3. 微信支付商户申请接入流程

    微信支付,是微信向有出售物品/提供服务需求的商家提供推广销售、支付收款、经营分析的整套解决方案,包括多种支付方式,如JSAPI支付、小程序支付、APP支付H5支付等支付方式接入。

    查看详情
  • 4. 阿里云域名ICP网络备案流程

    根据《互联网信息服务管理办法》以及《非经营性互联网信息服务备案管理办法》,国家对非经营性互联网信息服务实行备案制度,对经营性互联网信息服务实行许可制度。

    查看详情
  • 5. 微信小程序申请注册流程

    微信小程序注册流程与微信公众号较为相似,同时微信小程序支持通过已认证的微信公众号进行注册申请,无需进行单独认证即可使用,同一个已认证微信公众号可同时绑定注册多个小程序。

    查看详情