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