the5fire

关注Python、Django、Vim、Linux、Web开发、团队管理和互联网--Life is short, we need Python.


Python代码规范之import

作者:the5fire | 标签:     | 发布:2013-08-08 6:58 a.m. | 阅读量: 12325, 11954

我想我现在已经养成了PEP8强迫症了,看代码的时候一旦发现有地方不符合我已知的规范就有冲动去改掉它。

这里说的PEP8就是Python官方提出的:Style Guide for Python Code,算是社区规范。曾经有网友问过我这个问题,说写代码就按照自己想法写就行了,怎么舒服怎么来才爽,为啥非要按这规范来写?我觉得大多数比较洒脱的入门级的程序员都有类似的想法,“写自己的代码,让别人说去吧”。如果你的代码只是自己写,自己看,从不拿来交流那倒也没什么大不了,但这其实也有个问题,你自己也会和你自己进行交流,此时的你会看彼时的你写下的代码,然后发现挺奇怪(大多数人都有这样的经历),这里的格式是这样的,那里的格式是那样的,就像是进了一个乱糟糟的房间,或是打开了每个页面的各具风格和配色的网站。完全不像是一个整体,倒像是东拼西凑出来的东西。

再说除个人之外的情况,规范这东西,我觉得有点像通用货币,既然有了这个标准,何必还去 以物当物 呢,让别人再费劲的去了解你的规范。既然要和别人交流还是用统一的规范比较好,尤其是在团队的开发中,统一的规范有助于降低各成员相互理解代码的成本。额,还有就是美观,程序员的审美确实与众不同,人家都是调色调、调色系、调阴影,咱们是调缩进、调长短、调空行。另外有一点比较重要的是,在紧急情况下,良好的代码习惯,会让你的代码不那么丑。试想哪个项目不是在紧急状态下开发完的呢?所以,习惯很重要。

好了,废话一堆,开始正题。

你在import其他模块的时候,有什么样的习惯呢?是习惯一次性都引入还是,没有习惯,想import哪个就哪个?

PEP8中定义了这部分的规范:

1. standard library imports
2. related third party imports
3. local application/library specific imports

首先是标准库,然后是第三方库,最后再是你项目的其他模块。每个部分之间都用一个空行隔开。并且每部分都按照由短到长进行排序(貌似这个没说)。强烈不建议使用 import * 这样的方式。

你可以在每个文件(模块)中开头定义(所有import的下面) __all__ 来控制这个模块中的哪些类/方法在被import * 时可以被引入。

更多细节查看参考链接。

参考:

- from the5fire.com
----EOF-----

微信公众号:Python程序员杂谈

【上一篇】 Python3中的Iterable Unpacking
【下一篇】 Django-South介绍

其他分类: