Đệ quy là một phương pháp lập trình, trong đó một hàm gọi chính nó một hoặc nhiều lần trong phần thân của nó. Thông thường, nó đang trả về giá trị trả về của lệnh gọi hàm này. Nếu định nghĩa hàm theo sau đệ quy, chúng ta gọi hàm này là hàm đệ quy.
Một hàm đệ quy phải kết thúc để được sử dụng trong một chương trình. Nó kết thúc, nếu với mỗi lần gọi đệ quy, lời giải của bài toán trở nên nhỏ hơn và chuyển sang trường hợp cơ sở, nơi bài toán có thể được giải quyết mà không cần đệ quy thêm. Một đệ quy có thể dẫn đến một vòng lặp vô hạn, nếu trường hợp cơ sở không được đáp ứng trong các lệnh gọi.
Ví dụ
Đoạn mã sau trả về tổng của n số tự nhiên đầu tiên bằng cách sử dụng một hàm python đệ quy.
def sum_n(n): if n== 0: return 0 else: return n + sum_n(n-1)
Điều này in ra tổng của 100 số tự nhiên đầu tiên và 500 số tự nhiên đầu tiên
print(sum_n(100)) print(sum_n(500))
Đầu ra
C:/Users/TutorialsPoint1/~.py 5050 125250