我有这个:
>>> d = {}
>>> d["hi"] = 12345
>>> d1 = {}
>>> d1["hiiii"] = 1234590
我知道为什么我在下面收到错误。这是因为 exec 找不到变量 hi 和 hiiii。
>>> exec "print hi, hiiii"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'hi' is not defined
>>> exec "print hiiii"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'hiiii' is not defined
现在它可以工作了,因为 exec 能够在字典 d 和 d1 中找到 hi 和 hiiii 变量
>>> exec "print hi, hiiii" in d , d1
12345 1234590
到目前为止,一切都很好。
问题:
现在,当我打印 d 时,我看到它已被修改并打印了很多键值对..为什么?但是在打印 d1 时,我看不到很多键值对,为什么会这样?