ถ้าฟังก์ชันเรียกตัวเอง เรียกว่าฟังก์ชันแบบเรียกซ้ำ เพื่อป้องกันไม่ให้ตกหล่นในวงอนันต์ การเรียกซ้ำจะถูกวางในคำสั่งแบบมีเงื่อนไข
โปรแกรมที่ตามมาจะรับตัวเลขเป็นอินพุตจากผู้ใช้และส่งเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน rsum() มันเรียกตัวเองซ้ำ ๆ โดยลดค่าอาร์กิวเมนต์ในแต่ละครั้งจนถึง 1
def rsum(n): if n <= 1: return n else: return n + rsum(n-1) num = int(input("Enter a number: ")) ttl=rsum(num) print("The sum is",ttl)
ตัวอย่างการรันโปรแกรมด้านบนจะพิมพ์ผลรวมของตัวเลขธรรมชาติไม่เกินจำนวนอินพุต
Enter a number: 10 The sum is 55