看板 Python 關於我們 聯絡資訊
[翻譯] Google 建議的 Python 風格指南 18, 19 原文網址:http://google-styleguide.googlecode.com/svn/trunk/pyguide.html * 執行緒 (thread) 別相信內建型態的原子性 (atomicity)。 雖然 Python 的內建資料型態 (如:dictionary) 的某些操作看似具備原子性 (即 :一個動作不會操作到一半就被其他執行緒打斷),但某些狀況下原子性不被保證 (如:當 __hash__ 或 __eq__ 方法被實現時)。賦值的動作也不保證原子性。 不同的執行緒間優先使用 Queue 模組中的 Queue 來溝通 (編案:python 3 中為 queue)。另一個選擇是 threading 模組中的 primitive lock。為了能使用多執行 暑,學習使用 condition variable,並用它們來取代低階的 lock。 * 威力強大的功能 (編案:這篇裡的某些術語沒給例子,我不很確定它們指的與我理解的是否一致。 雖然這些術語不是本篇的重點,但若有人有更好的解釋歡迎指教。) 避免使用它們 釋義: Python 是一個很有彈性的語言,並提供許多花俏的功能,如:metaclass, 存取 bytecode, on-the-fly compilation (編案:指的是動態編譯嗎?), 動態繼承, 重新定義物件父類別, import hacks (編案:指 importlib 嗎?), 反射 (指 introspection?), 修改系統內部等。 好處: 這些威力強大的特性能讓程式碼更簡潔。 缺點: 這些很酷的功能非常吸引人,但並非必要。它們使用了一些較少被使用的底層功 能,因此程式較難被閱讀、理解、甚至除錯。對原作者而言,一開始可能不覺得 不對勁,但當需要再次閱讀程式碼時,會發現較長但較直觀的程式碼反而容易理 解。 決策: 避免使用這些功能。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 68.232.121.105
darkgerm:反射就是 reflaction,可以看到物件內部的一個機制 05/14 00:50
darkgerm: e 05/14 00:51
darkgerm:http://ppt.cc/oVbT 05/14 00:51