การเรียกซ้ำเป็นวิธีการเขียนโปรแกรมซึ่งฟังก์ชันเรียกตัวเองอย่างน้อยหนึ่งครั้งในร่างกาย โดยปกติแล้วจะคืนค่าที่ส่งคืนของการเรียกใช้ฟังก์ชันนี้ หากการกำหนดฟังก์ชันตามหลังการเรียกซ้ำ เราจะเรียกฟังก์ชันนี้ว่าฟังก์ชันแบบเรียกซ้ำ
ต้องหยุดฟังก์ชันแบบเรียกซ้ำเพื่อใช้ในโปรแกรม มันจะยุติลง หากทุกครั้งที่มีการเรียกซ้ำ การแก้ปัญหาจะเล็กลงและย้ายไปยังกรณีพื้นฐาน ซึ่งปัญหาสามารถแก้ไขได้โดยไม่ต้องเรียกซ้ำอีก การเรียกซ้ำอาจนำไปสู่การวนซ้ำที่ไม่สิ้นสุด หากไม่ตรงตามตัวพิมพ์พื้นฐานในการเรียก
ตัวอย่าง
โค้ดต่อไปนี้จะคืนค่าผลรวมของตัวเลขธรรมชาติ n ตัวแรกโดยใช้ฟังก์ชัน python แบบเรียกซ้ำ
def sum_n(n): if n== 0: return 0 else: return n + sum_n(n-1)
นี่จะพิมพ์ผลรวมของตัวเลขธรรมชาติ 100 ตัวแรกและตัวเลขธรรมชาติ 500 ตัวแรก
print(sum_n(100)) print(sum_n(500))
เอาท์พุต
C:/Users/TutorialsPoint1/~.py 5050 125250