小编use*_*543的帖子

exec()和变量范围

我确信这已被问及答案,但我没有具体找到它:

我只是拿起Python,我不理解变量范围问题.

我已将问题简化为以下内容:

情况1:

def lev1():
   exec("aaa=123")
   print("lev1:",aaa)

lev1()
Run Code Online (Sandbox Code Playgroud)

案例2:

def lev1():
   global aaa
   exec("aaa=123")
   print("lev1:",aaa)

lev1()
Run Code Online (Sandbox Code Playgroud)

案例3:

def lev1():
   exec("global aaa ; aaa=123")
   print("lev1:",aaa)

lev1()
Run Code Online (Sandbox Code Playgroud)
  • Case 1并且在print语句中Case 2aaaundefined.
  • Case 3作品.哪里aaa的实际存在Case 1Case 2
  • aaa在没有global声明的情况下,有没有办法在案例1中访问?

python python-3.x

7
推荐指数
1
解决办法
2334
查看次数

标签 统计

python ×1

python-3.x ×1