python风格的代码_Python 代码风格

1 原则

在开始讨论Python社区所采用的具体标准或是由其他人推荐的建议之前,考虑一些总体原则非常重要。

请记住可读性标准的目标是提升可读性。这些规则存在的目的就是为了帮助人读写代码,而不是相反。

本小节讨论你所需记住的一些原则。

1.1 假定你的代码需要维护

的倾向。然而,所写代码很少不被修改一直存在。

一劳永逸的无需之后进行阅读、调试或修补,那么你就会非常容易陷入忽视其他可读性原则的境地,这仅仅是因为你相信这次并不重要。

我从来没见过像这样的东 西。社区指导原则很重要,因为这就是开发人员加入到你的项目预期所见。类似的,以及相同的原因,请认真看待在使用特定框架时完成任务以及组织代码所采用 的标准。

)的主要意思就是关于存在的研究。在哲学上(在该领域这个词很常用)存在论是关于现实与存在本质的研究,是形而上学的子集。

事物在程序中如何存在。你如何将概念转化为在数据库中表示?亦或是用类结构表示?

在写代码之前先思考。尤其是思考程序希望实现的目标,以及程序之间如何交互。程序是一个对象与数据交互的世界。那么,它们之间协作所需遵循的规则是什么?

如果需要变更该代码,变更该代码的所有位置所需要的成本是多少?

选择自己的冒险故事步骤到达终点,并结束(很可能带有一些输出结果)。

写这段代码的人希望完成的目标是什么?偶尔,还可以帮助回答问题:为什么以这种方式完成工作?这些问题是在你阅读代码时很自然会问的,为这些问题提供答案将会帮助了解这些内容。

之禅博文 (),该页面是编程格言的集合(例如,在控制台中输入就可以看到这篇),也包括了类似下面这句如果你无法向人描述你的方案,那肯定不是一个好方案。

,哪些维护你代码的人(包括你自己)更容易凭直觉理解代码所代表的含义,并在不踩坑的前提下为程序增加代码。

不要使 用三元运算符很容易。然而仅仅是遵循这些规则(虽然有价值)并不是代码明晰的充分条件。请专注以尽可能简洁的方式编写和组织代码

标准

社区大部分遵循所谓的()指导原则,由(之父)编写并被包括标准库中的大多数主流项目采用。

的普遍性是其强大的原因之一。该标准被大多数社区项目采纳,因此你可以预计大多数你遇到的代码都遵循该标准。当你以这种方式编写代码时,代码会更加容易阅读,也更容易编写。

中的指导原则都很简单明了。部分重点如下:

使用个空格缩进。不要使用制表符()。

变量应该使用下划线连接,不使用骆驼式命名风格(使用而不是)。类名称以字母开头就是骆驼式命名风格(例如:)。

如果一个变量的用处是:仅内部使用,在变量名称之前加上下划线。

在运算符前后加上单空格(例如,,不是),也包含赋值运算符(而不是),只有在关键字参数情况下不适用,在这种情况下,空格可以省略。

在列表和字典中省略不必要的括号,(例如:而不是)。请阅读代码风格指南获得更多示例以及有关这些规则的更多讨论。

中,如果在一个函数或类中第一个语句是一个字符串,该字符串会自动赋值给一个特殊的变量,该变量在调用(和一些其他的类)时会被使用。

规定文档字符串(该名称可以被望文生义)是必须的。

规定最高级的类和函数定义之间有两个空行。

class B(object):pass

还规定除了最高级之外,类和函数的定义以一个空行分隔。

def foo(self):

pass

def bar(self):

pass

允许绝对路径导入和相对路径导入。在中,解释器会尝试相对导入,如果找不到路径,然后再尝试使用绝对导入。

中,使用特殊语法标记相对当如以()开头正常的导入方式只会尝试相对路径。的语法在以后版本可以使用。除此之外你可以使用关闭隐式相对路径导入。

或编写代码,请考虑选择中的显式风格。

sys

datetime date,datetime,timedelta

代码清单4

除此之外,虽然PEP 8并没有强制要求,考虑以包来源的方式将导入分组。对于每一组,按照字母表顺序排序。

另外,在导入时,请不要忘了使用as关键字给导入的内容起别名。

foo.bar really_long_name as name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值