python - 在递归函数中定义内部函数是个坏主意吗?

标签 python recursion

我有一些递归回溯代码,可以在做出选择之前测试它是否有效。将 is_legal_choice 函数嵌套在递归 solve 函数中是不是一个坏主意?每次调用 solve 函数时都会重新定义这个内部函数吗?

最佳答案

是的,每次调用函数都会重新定义内部函数。但是,它并不像您想象的那么糟糕; Python 代码被解析成一个代码对象一次,每次都只重新构建函数对象(它作为代码对象的一种包装器)。

关于python - 在递归函数中定义内部函数是个坏主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23138783/

相关文章:

python - 删除 Python 字符串中的第一个单词?

python - 使用 'if... or' 语句迭代两个列表

iOS7 Sprite Kit如何设置一系列依赖动画时序的 Action ?

javascript - 如何将同步和异步递归函数转换为JavaScript中的迭代

c - 使用 main() 函数递归

python - 结合/拼接 pandas DataFrames 与条件

python - 使用 Python 3.5 安装 numpy Windows 8 64

python - 保存模型时确保原子性

SQL Server 将分层 CTE 函数重写为常规 Select

java - 二分查找和插入排序