作者sandwichC (没回应=挂站)
看板Translate-CS
标题Fw: [翻译] Google 建议的 Python 风格指南 2、3
时间Fri Apr 26 21:25:44 2013
※ [本文转录自 Python 看板 #1HUe1BGt ]
作者: sandwichC (没回应=挂站) 看板: Python
标题: [翻译] Google 建议的 Python 风格指南 2、3
时间: Fri Apr 26 21:25:28 2013
原文网址:
http://google-styleguide.googlecode.com/svn/trunk/pyguide.html
这两则建议高度相关,所以放在一起
----------正文开始的分隔线----------
* Imports
只 import package 和 module (不要 import object)
编案:
python 中的 module 对应 python 程式本身,object 则是 python 程式中宣告的
变数。当你写一个 foo.py,其实就已经写了一 个名为 foo 的 module。package
是 module 的集合,创建 package 的细节可参照
http://guide.python-distribute.org/creation.html
释义:
import 的目的在共用 module
优点:
Python 的 namespace 管理方式简洁而一致。如:x.Obj 指的是 module x 中的
object Obj。
缺点:
Module 的名称仍可能重覆。某些 module 的名称可能很长而造成不便。
决策:
使用 import x 来 import package 和 module。
当 y 是 module 而 x 是 package 的前缀时,使用 from x import y。
若有两个以上的 module 叫做 y 且两个都被 import 时,用:
from x import y as z
若 y 的名称很长而造成不便时,也可使用:
from x import y as z
例如,要使用 sound.effects.echo 这个 module 时,可用:
from sound.effects import echo
...
echo.EchoFilter(input, output, delay=0.7, atten=4)
import 时避免使用相对名称。即使同一个 package 内有两个不同的 module,从其
中一个 module import 另一个 module时,也要使用完整的 package 名称。这可以
避免多次 import 同一个 package。
* Packages
使用完整的路径来 import module
优点:
避免重覆的 module 名称,且易於找到 module 的位置。
缺点:
部署程式时需要复制整个 package 的树状资料夹等档案结构。
决策:
所有的程式 import module 都应该要用完整的 package 名称。
范例:
# Reference in code with complete name.
import sound.effects.echo
# Reference in code with just module name (preferred).
from sound.effects import echo
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 75.102.68.55
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: sandwichC (75.102.68.55), 时间: 04/26/2013 21:25:44