繁体   English   中英

Python是否会停止无限的“ for”循环?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM