如何在字符串中獲取給定名稱的變量的值?為簡單起見,這是我想要做的精簡版:def foo(a):
# I want to print the value of the variable
# the name of which is contained in a我知道如何在PHP中執(zhí)行此操作:function foo($a) {
echo $$a;}global $string = "blah"; // might not need to be global but that's irrelevant
foo("string"); // prints "blah"有什么辦法嗎?
3 回答

繁星淼淼
TA貢獻(xiàn)1775條經(jīng)驗 獲得超11個贊
如果它是一個全局變量,那么你可以這樣做:
>>> a = 5>>> globals()['a']5
關(guān)于各種“eval”解決方案的注意事項:你應(yīng)該小心eval,特別是如果你正在評估的字符串來自可能不受信任的來源 - 否則,你最終可能會刪除磁盤的全部內(nèi)容或類似的東西如果給你一個惡意字符串。
(如果它不是全局的,那么你將需要訪問它定義的任何命名空間。如果你沒有,那么你將無法訪問它。)

侃侃爾雅
TA貢獻(xiàn)1801條經(jīng)驗 獲得超16個贊
>>> string = "blah">>> string'blah'>>> x = "string">>> eval(x)'blah'
添加回答
舉報
0/150
提交
取消