一个推砖'骚'操作,秒懂闭包~
在线围观:
**** Hidden Message *****
详细解释请看小甲鱼老师Python教程 P46:
https://www.bilibili.com/video/BV1c4411e77t?p=46 {:5_109:} {:5_109:} {:5_108:} {:10_330:} {:5_108:} 一个推砖'骚'操作,秒懂闭包 这是递归啊
假设这是一个叫jc()的函数,是求阶乘
假设传递50000(5亿都行)
jc(50000)= jc(49999) * 50000 #第1块砖头倒下
jc(49999)= jc(49998) * 49999 #第2块砖头倒下
jc(49998)= jc(49997) * 49998 #第3块砖头倒下
......
jc(3)= jc(2) * 3 #第49998块砖头倒下
jc(2)= jc(1) * 2 #倒数第49999块砖头倒下
jc(1)= 1 #第50000块砖头倒下, 并且和地面平行
jc(2)= 1 * 2 #由于第50000块砖头倒在地,也倒在地
jc(3)= 1 * 2 * 3 #由于第49999块砖头倒在地,也倒在地
......
jc(49998)= 1 * 2 * 3 *......* 49996 * 49997 * 49998 #由于第4块砖头倒在地,也倒在地
jc(49999)= 1 * 2 * 3 *......* 49997 * 49998 * 49999 #由于第3块砖头倒在地,也倒在地
jc(50000)= 1 * 2 * 3 *......* 49998 * 49999 * 50000 #由于第2块砖头倒在地,也倒在地
#这时候,所有砖头倒下
#返回50000的阶乘
#这是递归啊 {:5_95:} {:10_279:} {:10_254:}
{:5_105:} 闭包好难 来捞{:10_256:}{:10_256:}
页:
[1]