※ 引述《ResolaQQ (ResolaQQ)》之銘言:
: constants
: all module globals are considered constants. Their binding must not be
: changed at run-time. Moreover, global (i.e. prebuilt) lists and
: dictionaries are supposed to be immutable: modifying e.g. a global list
: will give inconsistent results. However, global instances don't have this
: restriction, so if you need mutable global state, store it in the
: attributes of some prebuilt singleton instance.
你下面的例子和這段文字毫不衝突, 反而是它推薦的做法
我就直接翻成中文, 你自己感受一下, 應該不需要太多解釋
所有 module 中的全域變數應被視為常數。它們的鍵結不應於執行期被改變。
除此之外, 全域(亦即預先建立的)list 與 dictionary 實例應不可修改:
舉例而言, 修改一個全域 list 會產生不一致的結果。然而, 全域物件實例並
無此限制, 所以若你需要可被修改的全域狀態, 應將其存至某個預先建立
singleton 實例的 attribute。