教程
Python 3 Basic
Python Advanced
Tkinter
Python Modules
JavaScript
Python Numpy
Git
Matplotlib
PyQt5
Data Structure
Algorithm
贴士文章
Rust
Python Pygame
Python
Python Tkinter
Batch
PowerShell
Python Pandas
Numpy
Python Flask
Django
Matplotlib
Plotly
Docker
Seaborn
Matlab
Linux
Git
C
Cpp
HTML
JavaScript
jQuery
TypeScript
Angular
React
CSS
PHP
Java
Go
Node.js
Kotlin
Csharp
Ruby
Arduino
MongoDB
MySQL
Postgres
R
VBA
Scala
Raspberry Pi
函数参考
Python Pandas
Numpy
本文将介绍在 Python 中使用
getrecursionlimit()
和
setrecursionlimit()
函数获取和增加最大递归深度的方法。
使用
getrecursionlimit()
函数获取 Python 中的最大递归深度
什么是递归?递归是重复的过程。
在 Python 中,我们对递归函数有一些限制。它告诉我们函数将重复多少次。我们可以使用
getrecursionlimit()
函数来获得最大的递归深度。正确的语法是。
此方法不接受任何参数。
下面的程序显示了我们如何在 Python 中使用这个方法来获取最大递归限制。
import sys
print(sys.getrecursionlimit())
在 Python 中使用
setrecursionlimit()
函数设置最大递归深度
如果递归深度超过了 Python 中默认的最大递归深度,就会抛出一个
RecursionError
。让我们看看下面的例子。
def Test(i):
if i > 0:
return Test(i-1)+1
else:
return 0
Test(5000)
Traceback (most recent call last):
File "C:/Test/test.py", line 7, in <module>
Test(5000)
File "C:/Test/test.py", line 3, in Test
return Test(i-1)+1
File "C:/Test/test.py", line 3, in Test
return Test(i-1)+1
File "C:/Test/test.py", line 3, in Test
return Test(i-1)+1
[Previous line repeated 1021 more times]
File "C:/Test/test.py", line 2, in Test
if i > 0:
RecursionError: maximum recursion depth exceeded in comparison
我们需要增加最大递归深度来解决上述问题。我们使用 setrecursionlimit()
函数来设置递归限制。使用该函数的正确语法如下。
sys.setrecursionlimit(limit)
这个方法只接受一个参数。其参数的详细情况如下。