python之阶乘的小例子

现在自己写阶乘是这个样子的 

def f(x):
    return x * f(x-1) if x >1 else 1

后来无意中看到耗子的一篇<Python程序员的进化>的文章,

感脚这个代码可以改成这个样子

f = lambda x: x*f(x-1) if x > 1 else 1

  

 顿感哇哈哈我绝对写过第一种

看到这段代码,偶有种不懂觉厉的感脚,虽然看起来很难读的样子,仔细看看又试验了一下,不错不错,是很酷的样子,标记一下

def fact(x, acc=1):
    if x: return fact(x.__sub__(1), acc.__mul__(x))
    return acc

原文是请参见这里 酷壳

原文地址:https://www.cnblogs.com/God-Shell/p/3204097.html