Python递归和推导
纸上得来终觉浅,绝知此事要躬行。

递归的概念很简单,如果函数包含了对其自身的调用,该函数就是递归的。拗口一点的定义是,如果一个新的调用能在相同过程中较早的调用结束之前开始,那么个该过程就是递归。
1. 条件运算符
- 三目运算符
# 表达格式 <表达式1> ? <表达式2> : <表达式3>
# 实例说明 In [1]: a = 1 In [2]: b = 2 In [3]: max = (a > b) ? a : b
- if 和 else
# 表达格式 value_when_true if condition else value_when_false
# 实例说明 In [4]: 'True' if True else 'False' Out[4]: 'True' In [5]: 'True' if False else 'False' Out[5]: 'False'
- 老式写法:不推荐使用
# 表达格式 [value_when_false, value_when_true](bool(condition))
# 实例说明 In [6]: ['False', 'True'][True] Out[6]: 'True' In [7]: ['False', 'True'][False] Out[7]: 'False'
- and 和 or
# 表达格式 condition and value_when_true or value_when_false
# 同为真返回最后一个真值,有假返回假值 In [11]: 'a' and 'b' Out[11]: 'b' In [12]: 'a' and False Out[12]: False In [13]: False and 'b' Out[13]: False In [14]: 'a' and False and 'b' Out[14]: False In [15]: 'a' and True and 'b' Out[15]: 'b'
# 返回第一个真值 In [16]: 'a' or 'b' Out[16]: 'a' In [17]: 'a' or False Out[17]: 'a' In [18]: False or 'b' Out[18]: 'b' In [19]: 'a' or False or 'b' Out[19]: 'a' In [20]: 'a' or True or 'b' Out[20]: 'a'
2. 递归运算
- 递归的定义
- 在每一次调用自己时,在某种意义上应该更接近于解
- 必定存在可使递归调用终止的条件, 否则导致出现无限递归