※ 本文為 nakts0123.bbs. 轉寄自 ptt.cc 更新時間: 2013-05-05 19:08:26
看板 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 的細節可參照
變數。當你寫一個 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。
中一個 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
→ :push!1F 04/26 22:37
推 :推2F 04/27 14:59
推 :推3F 04/28 21:46
--
※ 看板: Gabinius 文章推薦值: 0 目前人氣: 0 累積人氣: 59
作者 sandwichC 的最新發文:
- 請問各位有花旗信用卡但無該行存款的卡友 若需要繳的金額>30萬時,有建議什麼方便的繳費方式嗎? 我過去大多用花旗App輸入他行帳戶直接繳費 但金額>30萬時好像會失敗 我主要的存款在郵局, …85F 24推
- 請問一下,若股利剛破20000, 按規定繳納 2.11% 的稅, 實拿會不會低於股利略低於 20000 的人啊? 按健保署的試算: 若股利所得 20001 元,補充保費422元,故實拿19579元 若 …36F 24推 1噓
- 原文網址: Google Python Style Guide * Generators 有需要時就用 generator 釋義: 一個 generator 函式的回傳值是一個 generator 物 …1F 1推
- 原文網址: Google Python Style Guide * Default Iterators and Operators 若變數的型態支援,應優先使用預設的迭代器 (iterator) 及通 …
- Google 建議的 Python 風格指南 7 原文網址: Google Python Style Guide * list comprehension 在邏輯簡單的情況下可以使用 list com …6F 2推
點此顯示更多發文記錄
→
guest
回列表(←)
分享