python-3.x - 运行此代码时 python shell 崩溃
问题描述
我正在运行此代码但没有成功。
import sys
sys.setrecursionlimit(2147483647)
Gi = 0
def recur():
global Gi
Gi = Gi + 1
recur()
recur()
print(Gi)
input()
我知道更改递归限制不好,但是我从没想过这会导致 Shell 崩溃。有人知道为什么吗?
解决方案
每次执行,都会在内部recur
执行另一个。recur
当您这样做时,它会不断地添加到调用堆栈中,直到达到系统的内存限制。当它达到该限制时,它将由于堆栈溢出而崩溃。
推荐阅读
- lua - Roblox Studio (LUA) - 将表保存到 DataStore(不工作)
- javascript - Firebase 服务不包含 React 中的其他页面
- delphi - TJvMemoryData.InternalSetFieldData 中的零星访问冲突
- amazon-web-services - 在这个用例中,Lambda 是否需要 SQS?
- javascript - 使用 fetch 时 POST https://accounts.spotify.com/api/token 415 错误
- sql - 如何对 SQL 中的 2 个查询求和
- wordpress - WordPress登录后如何重定向到仪表板?
- codeblocks - 如何在 code::blocks 中使用 LAPACK 和 BLASE 库?
- arrays - 如何在 Firebase 实时数据库的“数组”中按索引插入/删除项目?
- c++ - 如何处理模板类中的复合类型