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