我想知道是否有可能通過字典處理變量。使用字典處理變量
例子:
global MyVar
...
MyVar = 0xFFFF
d={"MyVar":MyVar}
def ChangeVar (var_to_change, value)
d[var_to_change] = value #I know this code assigns a new value to the key...
...
ChangeVar("MyVar",25)
...
我想用字典「中選擇」我將修改的變量。我總是可以使用一個數組,但我想知道是否有可能實現這一點。我不太瞭解Python中的指針。
在C會是這樣的(也許我寫了一個額外的或錯過了一個「*」):
int MyCVar = 0;
int MyCVar2 = 0;
int *MyD[] = {&MyCVar,&MyCVar2};
...
*(MyD[index]) = some_value;
我希望你明白我試圖解釋。
謝謝
喬納森
編輯: 謝謝大家對你的答案。我想要做的事情很難,因爲python處理的名字和對象完全不同。我所做的是這樣的:
class mytype(object):
def __init__(self,name=""):
self.__Name = name
....
myDict[name] = self
那麼我就可以使用名稱變量的訪問所有對象。這是我在第一個例子中試圖解釋的行爲。這就是我將如何訪問這些對象。
myDict["MyVar"].Value = 1
謝謝大家,你的回答給了一些好主意。
有什麼意義? – 2011-12-15 21:57:45
沒有必要這樣做......`本地人()['Myvar'] = 25` – JBernardo 2011-12-15 22:01:06