## 递归只是让程序逻辑更加清晰,并没有性能上的优势
## 每个递归函数的有两个部分:基线条件(base case)和递归条件(recursive case),递归条件即函数自己调用自己,而基线条件指函数不再调用自己,以避免造成无限循环
1 def count_down(num): 2 if num < 0: # 基线条件 3 return 4 else: # 递归条件 5 print(num) 6 count_down(num - 1) 7 8 count_down(5) 9 # 5 4 3 2 1 0 10 11 def factorial(num): 12 return 1 if num == 1 else num * factorial(num - 1) 13 14 print(factorial(6)) 15 # 720