這裏有我在想什麼的例子:Python:有沒有辦法從其他函數訪問變量而不使用'global'?
def check_args():
if len(sys.argv) < 2:
sys.exit('Reason')
if not os.path.exists(sys.argv[1]):
sys.exit('ERROR: Folder %s was not found!' % sys.argv[1])
global path
path = sys.argv[1]
正如你可以check_args後告訴()完成succefully「路徑」變量普遍意義的 - 你可以在其它功能事實上的變量使用。
所以我想如果有一種方法來訪問「路徑」,例如check_args.path?
在python v3中如何?
也沒有使用類? – moooeeeep
這可能只是一個例子,但如果這與您的實際代碼相近,您可能需要查看一個命令行解析庫('argparse'是最近被包含在python中的一個)。 – mgilson
您不必將代碼放入函數中。只需在模塊頂部附近定義一個全局'path'變量即可。你可以像@ lanzz的回答那樣將它存儲爲一個函數的屬性,但這幾乎是一樣的,因爲你的函數是一個全局模塊對象。 – martineau