python break exit,python中for语句可以用break终止当前循环
如果要执行代码,有两个函数可以选择,但是如果是复杂的语句块,就需要选择exec函数。这里有朋友在使用exec函数执行break语句时出错了。这里先不说原因。有些朋友对exec函数的基本内容了解不够。这里先说一下exec的语法、函数和参数,然后再分析一下突破实例执行错误的原因。
1.语法
exec(expression,globals=None,locals=None,/)2.作用
动态执行Python代码。也就是说,exec可以执行复杂的Python代码,而不是像eval函数那样计算表达式的值。
3.参数
Object:必选参数,表示要指定的Python代码。它必须是字符串或代码对象。如果object是一个字符串,该字符串将被解析成一组Python语句,然后执行(除非有语法错误)。如果对象是一个代码对象,那么它只是被执行。
Globals:可选参数,与eval函数相同。
Locals:可选参数,与eval函数相同。
4.实例
i=5
j=7
n=0
whileni:
.打印(“循环”)
.执行( ifj5:
. n中断 )
.n=1
.
环
回溯(mostrecentcalllast):
文件,第4行,位于
文件“”,第3行
TaxError : break 外部循环在这里。为什么exec函数会失败?
根据Python文档,解释器执行break语句时,会跳出while和for语句最接近的循环。如果解释器找不到while和for循环,它将报告一个错误。因此,这里会报告一个错误,表明Python解释器没有在exec之前找到while循环。
事实上,如果你仔细看文档,你会发现当解释器遇到exec函数时,它会独立执行字符串中的语句。如果有什么自变量,都是定义变量的字典。解释器不在字符串之外寻找语法结构。也就是说,在这个例子中,解释器将独立执行语句。
以上就是我们没有用exec执行break语句的原因。如果不是先学习了exec函数的知识,就不会很好的理解为什么会出现这种错误。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。