【发布时间】:2017-08-06 18:32:12
【问题描述】:
我确定有人问过并回答过这个问题,但我找不到具体的:
我刚刚开始学习 Python,但我不了解 变量范围问题。
我已将问题简化为:
案例一:
def lev1():
exec("aaa=123")
print("lev1:",aaa)
lev1()
案例 2:
def lev1():
global aaa
exec("aaa=123")
print("lev1:",aaa)
lev1()
案例 3:
def lev1():
exec("global aaa ; aaa=123")
print("lev1:",aaa)
lev1()
-
Case 1和Case 2在 print 语句中未定义aaa。 -
Case 3有效。aaa在Case 1和Case 2中实际存在于哪里? - 在没有
global声明的情况下,有没有办法在案例 1 中访问aaa?
【问题讨论】:
标签: python python-3.x