變量賦值我用eval()
到一個列表分配給VAR:的eval()在運行時不
eval('mylist = [1,2,3]')
但是當我運行它,我得到了一個SyntaxError。它出什麼問題了?如果我不能在eval()
中進行分配,我該如何在運行時分配一個變量。
變量賦值我用eval()
到一個列表分配給VAR:的eval()在運行時不
eval('mylist = [1,2,3]')
但是當我運行它,我得到了一個SyntaxError。它出什麼問題了?如果我不能在eval()
中進行分配,我該如何在運行時分配一個變量。
使用exec
的發言:
>>> exec 'lis = [1,2,3]'
>>> lis
[1, 2, 3]
只對表達式eval
作品,如2*2
,4+5
等
eval
和exec
都還好,如果字符串是從已知來源的到來,但不要如果字符串來自未知來源(用戶輸入),則使用它們。
不是這樣'python 3中的exec('mylist = [1,2,3]')'3 –
插入強制性的「注意'exec',這可能很危險」 – SethMMorton
在一個完全無關的筆記,你可能最好使用兩種'當地人()','全局()',或爲真大膽,一本字典。 –
@Snakes and Coffee:現在我已經學會了這兩個功能。這是我的情況:我想在一個類中創建一個新的成員變量。我如何實現它? –
你可以做'setattr(,'mylist',[1,2,3])' –