gpt4 book ai didi

python - 在 Python 中对无限循环使用无限递归是一种罪过吗?

转载 作者:太空狗 更新时间:2023-10-29 19:33:24 24 4
gpt4 key购买 nike

这个问题更多的是关于好奇心而不是实用性。如果我正在编写一个应该永远运行的函数,例如守护进程,如果我从函数末尾再次调用该函数,Python 将如何处理它?<​​/p>

def daemonLoop():

# Declare locals

# Do stuff

daemonLoop()

我相当确定在 C 中执行此操作会导致堆栈溢出,但考虑到从 C 到 Python 的抽象级别,我猜是处理方式不同。

我会为此下 hell 吗?

最佳答案

在几乎所有会导致堆栈溢出的 Python 解释器中,就像在 C 中一样。允许这种情况的更高级别的功能称为 Tail Call Optimization。或尾递归消除,以及the benevolent dictator of Python opposes adding this to the language .

这种风格被认为是 Python 的非惯用风格,首选简单的 while True: 循环。

关于python - 在 Python 中对无限循环使用无限递归是一种罪过吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7975515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com