2013-03-20 56 views
5

這個問題是相當普遍的,但它更適合我瞭解蟒蛇良好的編碼習慣......全局變量和編碼風格的建議

我想定義一個常數,我可以在任何函數中使用無內不得不通過它作爲參數,並且不需要在聲明之後改變它 - 也許它是很好的使它不可能改變,但不知道我是否可以做到這一點。

什麼了來做到這一點的最好辦法,在編程風格(編碼,命名規則等)

也就是說,術語 GLOBAL_CONSTANT = 'this_variable_will_not_be_changed'

我的Python代碼必須這種形式,也是不錯的風格?

#!/usr/bin/env python 

import sys 
import os 

GLOBAL_CONSTANT='this_variable_will_not_be_changed' 

def test(): 
    print GLOBAL_CONSTANT 
    return 0 

def main(): 
    test() 
    return 0 

if __name__ == "__main__": 
    main() 
+4

看看PEP 8:http://www.python.org/dev/peps/pep-0008/ – Alfe 2013-03-20 15:41:43

+3

我通常以小腳本的形式開始,隨着代碼的增長,我將它封裝在一個類中這樣全局變量就變成了一個類變量。 – yoniLavi 2013-03-20 16:12:30

回答

5

您的代碼並沒有真正做任何事情,所以我想這是很好!關於樣式代碼,只要您有疑問,請參閱PEP 8。

比你已經給了我們沒有更多的信息,我不得不說,你的約定確定。

嚴格遵守PEP-8是沒有必要的。然而。普遍的共識傾向於「保持代碼一致」。通過PEP-8格式化文件的閱讀可能會令人困惑,只會絆倒Java類或匈牙利語符號代碼的「塊」。

3

在99%的情況下,這就足夠了。但如果你非常需要這個值真的不變,你可以檢查this

順便說一句:這將是很難通過反映其他語言的一切來學習Python的方法。儘量忘掉過去。學習思考Pythonic。