2011-11-28 90 views

回答

4

當然,您必須將您的變量作爲字符串傳遞 - 否則將始終引發一個NameError 。

globals內置在python中返回模塊字典 - 全局變量存儲在其中。

def is_defined(variable): 
    return variable in globals() 

tomato = 42 

is_defined ("tomato") 

(如果由於某種原因,你認爲你不能有你的變量名作爲一個字符串,添加一些更多的上下文信息,所以我可以調整相應的答案。)

要設置一個全局變量用默認值:

def set_var(variable, value=0): 
    globals()[variable] = value 
+0

我該如何得到變量的名字? – leBla

+0

我想要做的就是添加2個setter:一個帶參數和一個默認setter。在getter中,我想測試變量是否被定義。如果不是,則通過第二個設置器將其設置爲默認值。 – leBla

+0

如何獲取變量的名稱取決於您的代碼。 globals()。keys()會給你所有的變量名稱,但也包括模塊上的所有函數和類名稱 – jsbueno

相關問題