【发布时间】:2018-02-10 08:30:08
【问题描述】:
如果我有以下 Python 脚本 foo.py :
def foo() :
my_dict = {'A': 1, 'B': 2, 'C': 3}
globals().update(my_dict)
print(A)
print(B)
print(C)
foo()
我可以在 ipython 中输入这个:
run foo.py
=> 1
=> 2
=> 3
A
=> 1
但是,如果我删除底部的 foo() :
def foo() :
my_dict = {'A': 1, 'B': 2, 'C': 3}
globals().update(my_dict)
print(A)
print(B)
print(C)
# no foo
然后我在 ipython 中输入:
run foo.py
foo()
=> 1
=> 2
=> 3
A
=> NameError: name 'A' is not defined
我收到此错误。为什么会这样?
【问题讨论】:
-
你能举个
element_dict的例子吗 -
@PratikKumar {'H': 1.0, 'He': 4.0, 'C': 12.0}
-
@PratikKumar 我会把问题改成更容易理解的
-
@PratikKumar 更新了!
-
print('A')会打印一个 A,而不是 1。提问时,请发布您实际运行的代码以及运行它得到的实际输出。
标签: python dictionary global-variables ipython