看板 Translate-CS 關於我們 聯絡資訊
※ [本文轉錄自 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