顯示廣告
隱藏 ✕
※ 本文為 nakts0123.bbs. 轉寄自 ptt.cc 更新時間: 2013-05-05 19:08:26
看板 Python
作者 sandwichC (沒回應=掛站)
標題 [翻譯] 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
POSIX:push!1F 04/26 22:37
icycandle:推2F 04/27 14:59
wadd:推3F 04/28 21:46

--
※ 看板: Gabinius 文章推薦值: 0 目前人氣: 0 累積人氣: 59 
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇