[英]Does Python ever stop an infinite “for” loop?
python是否会自动终止或为无限的“ for”循环生成错误?
例如,
list = [1]
for number in list:
print (number + 1)
list.append(number + 1)
导致程序自行终止或出错?
我已经对其进行了一些测试,甚至达到了10,000。
不,该程序将永远运行。 它可能会崩溃,因为您的调用栈很大(如果您在某处使用了递归),或者您曾经使用过多的内存。 您的示例最终将崩溃。
while True:
pass
它将“永远”运行,但是没有任何问题。
该程序将结束,但是要花很长时间才能完成。 最终,您的列表将使系统内存不足,该程序将因错误而崩溃。
除非您指定范围或限制,否则不会。 您当前拥有它的方式将一直持续到遇到内存错误为止。
另外,不要将list
用作变量,因为它是python的保留函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.