Python: Recursion limit
Current Recursion Limit
Write a Python program to get the current value of the recursion limit.
sys.getrecursionlimit(): Return the current value of the recursion limit, the maximum depth of the Python interpreter stack. This limit prevents infinite recursion from causing an overflow of the C stack and crashing Python. It can be set by setrecursionlimit().
Sample Solution:
Python Code:
import sys # Import the sys module to access system-related information
print() # Print a blank line for spacing
print("Current value of the recursion limit:") # Display a message about the recursion limit
print(sys.getrecursionlimit()) # Retrieve and print the current recursion limit
print() # Print a blank line for spacing
Sample Output:
Current value of the recursion limit: 1000
How to change the maximum recursion depth in Python?
sys.setrecursionlimit(limit): Set the maximum depth of the Python interpreter stack to limit. This limit prevents infinite recursion from causing an overflow of the C stack and crashing Python.
The highest possible limit is platform-dependent. A user may need to set the limit higher when they have a program that requires deep recursion and a platform that supports a higher limit. This should be done with care, because a too-high limit can lead to a crash.
Python Code:
import sys # Import the sys module to access system-related information
print("Call sys.getrecursionlimit() to get the current recursion limit:") # Display a message about getting the current recursion limit
recursion_limit = sys.getrecursionlimit() # Retrieve and store the current recursion limit
print(recursion_limit) # Print the current recursion limit
print("\nCall sys.setrecursionlimit(n) to change the recursion limit to n operations:") # Display a message about changing the recursion limit
sys.setrecursionlimit(1001) # Set the recursion limit to 1001 operations
new_recursion_limit = sys.getrecursionlimit() # Retrieve and store the new recursion limit
print(new_recursion_limit) # Print the new recursion limit
Sample Output:
Call sys.getrecursionlimit() to get the current recursion limit: 1000 Call sys.setrecursionlimit(n) to change the recursion limit to n operations: 1001
Python Code Editor:
Previous: Write a Python program to get the size of an object in bytes.
Next: Write a Python program to concatenate N strings.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics