用编程语言解释尾递归的概念
尾递归是一种优化技术，用于递归函数，允许函数调用自身而不必存储程序的先前状态。这是通过将递归调用替换为循环来实现的，从而消除了在堆栈上存储先前状态的需要。例如，以下 Python 代码演示了一个尾递归函数，用于查找前 n 个数字的总和：

def tail_recursive(n, result):
    if n == 0:
        return result
    else:
        return tail_recursive(n - 1, n + result)

sum = tail_recursive(5, 0)