递归函数的定义:在这个函数里再调用这个函数本身 最大递归深度默认是997或者998,python从内存角度做的限制 优点:代码变简单 缺点:占内存 一:推导年龄 问a的值是多少: a 比 b 小2,b比c小2,c比d小2,d=38 a = b - 2 b = c - 2 c = d -2 d = 38 def func(x): if x == 1: return 38 else: return x+2 ret = func(4) print(ret)…
1.三目运算符 对简单的条件语句,可以用三元运算简写.三元运算只能写在一行代码里面 # 书写格式 result = 值1 if 条件 else 值2 # 如果条件成立,那么将 "值1" 赋值给result变量,否则,将"值2"赋值给result变量 result = 'the result if the if succeeds' if True else 'the result if the if fails and falls to the else part'…
# 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数 # 计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: # fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n # 使用递归函数的优点是逻辑简单清晰,缺点是过深的调用会导致栈溢出. def fact(n): if n==1: return 1 return n * fact(…
本文的最重要的收获在于:尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式. 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: ? 1 fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n 所以,fact(n)可以表示为n x fa…
首次接触到装饰器的概念,太菜啦! Python 装饰器可以大大节省代码的编写量,提升代码的重复使用率.函数装饰器其本质也是一个函数,我们可以把它理解为函数中定义了一个子函数. 例如我们有这么一个需求,每次执行一个函数后,需要知道这个函数执行了多长时间.一般情况下,我会这样写: def Accumulate(n): """accumulate number which is from 1 to n""" s = 0; for i in range(…