با سلام و عرض ادب خدمت همه ی دوستان
بنده در زمینه پایتون محصل هستم و امروز با این کد روبرو شدم که متوجه روش کاری ان نمیشوم و هیچ منبعی برای توضیح ان تا کنون نیافتم
در این کد خود تابع را درون خودش فراخوانی میکنند و در ارگومان ورودی ان هر عددی که بگذاریم در حاصل به همان تعداد اعدادی ایجاد میکند که بر طبق یک الگوی خاص افزایش یافته اند

def tri_recursion(k):
if(k > 0):
result = k + tri_recursion(k - 1)
print(result)
else:
result = 0
return result

print("\n\nRecursion Example Results")
tri_recursion(4)


ممنون میشم راهنمایی کنید که این کد دقیقا چطور عمل میکنه یعنی خط به خط چطور پیش میره
ممنون از همه ی دوستان


زمانی که کامپایل میشود به این صورت است :






Recursion Example Results
1
3
6
10

منبع این کد سایت w3school است