可以说我具有以下功能
def code_string(a):
for i in range(a):
exec('f=a+i')
print(f)
当我使用以下命令运行它
code_string(3)
它给我以下错误
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-4-9c91de8067f3> in <module>()
----> 1 code_string(3)
<ipython-input-2-2ae9915b0a25> in code_string(a)
2 for i in range(a):
3 exec('f=a+i')
----> 4 print(f)
NameError: name 'f' is not defined
当我不在函数中运行它时
a=3
for i in range(a):
exec('f=a+i')
print(f)
它是如此完美
3
4
5
为什么会发生这种情况,我可以在python函数中执行字符串代码吗
注意:这只是一个演示示例,请不要指望我的代码像这个演示示例一样简单。我只是用它来演示问题。