大多數人可能會說這是一個糟糕的主意。我想使用字符串的內容作爲變量的名稱。我想要完成的可怕:用字符串設置python對象/變量的名稱
s = 'x'
x = 1
其中變量名x
從字符串s
來(不知何故?)。
要回答「爲什麼?」,說我有一個x
的全局默認值,我希望在函數中覆蓋選項。但是:
x = 0
def f(**kw):
print x
f(x=1)
打印0
不1
。如果我可以使用kw.keys()中的字符串重新分配x
(或任何其他全局變量),那麼我會很高興。
我意識到,這適用於在f
重新分配x
:
x = 0
def f(x=x):
print x
f(x=1)
但我想爲那裏有我的名字空間許多變數,我可能會在某個時候要重寫而無需重寫每一個案件做到這一點函數定義在我的模塊中。
爲什麼不把這些「全球性」的狀態變量的字典? – pawroman