ถ้าฟังก์ชันเรียกตัวเอง เรียกว่าฟังก์ชันแบบเรียกซ้ำ เพื่อป้องกันไม่ให้ตกหล่นในวงอนันต์ การเรียกซ้ำจะถูกวางในคำสั่งแบบมีเงื่อนไข
โปรแกรมที่ตามมาจะรับตัวเลขเป็นอินพุตจากผู้ใช้และส่งเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน 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