当我尝试使用exec()在python控制台和脚本中执行此代码时,其结果不同
python控制台:
>>> def test():
... x = 13
... exec('b = x + 1')
... print(b)
...
>>> test()
14
>>>
python脚本
def test2():
x = 13
exec('b = x + 1')
print(b)
NameError: name 'b' is not defined
但是使用此代码,它们是相同的
python控制台
>>> def test1():
... x = 0
... exec('x += 1')
... print(x)
...
>>> test1()
0
python脚本
def test1():
x = 0
exec('x += 1')
print(x)
test1()
# 0
答案 0 :(得分:0)
“”“ 但是使用此代码,它们是相同的
python控制台
>>> def test1():
... x = 0
... exec('x += 1')
... print(x)
...
>>> test1()
0
python脚本
def test1():
x = 0
exec('x += 1')
print(x)
test1()
# 0
“”“
由于此代码,x是define,所以您的函数'exec()'在这里不起作用 与您没有写'exec'一样
答案 1 :(得分:0)
但是,该错误的原因是您没有定义b
。
那可能有用
def test2():
x = 13
exec('b = x + 1\nprint(b)')