-
匿名函数
''' 匿名函数: lambda 参数列表:表达式 作用: 简化函数,轻量型函数 1.没有函数名 2.一句话搞定 ''' # def get_sum(a, b): # return a + b result = lambda a, b, c: a + b + c print(result) print(result(1, 2, 3)) # 使用场合就是作为参数使用 list1 = [1, 4, 8, 9] print(sorted(list1)) list2 = [('lily', 18), ('lucy', 20), ('jack', 19)] print(sorted(list2)) result = lambda x: x % 2 == 0 print(result(5)) result = lambda x, y=10: x * y print(result(6)) print(result(3, 8)) # def f(x,y=10): # return x*y # # f(6) def f1(x, func): r = func(x) return r r = f1(5, lambda x: x % 2 == 0) print(r)
-
递归函数
''' 如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数 原则:1. 要有出口 2. 不断的向出口靠近 ''' # 打印1-10的数字 for i in range(1, 11): print('for--->', i) # while count = 1 while count <= 10: print('while--->', count) count += 1 # 通过函数实现 count = 1 def f(): global count if count == 10: # 符合终止条件,不调用自身 print('func--->', count) else: print('func--->', count) count += 1 # 不断的向出口 f() # 递归还没有停止 f()
''' 有返回值的递归函数 ''' count = 1 def f(): global count if count == 3: # 符合终止条件,不调用自身 print('func--->', count) else: print('func--->', count) count += 1 # 不断的向出口 r = f() # 递归还没有停止 print('*****>', r) return count result = f() print('最后的result:', result) # 递归函数:1-5的累加和 def f2(n): if n == 5: return 5 else: return n + f2(n + 1) result = f2(1) print(result) # 计算 # 斐波那契数列问题: # 1,1,2,3,5,8,13,21,34.。。 def fib(n): if n <= 2: return 1 return fib(n - 1) + fib(n - 2) result = fib(3) print(result)
函数——匿名函数+递归函数
最新推荐文章于 2023-03-10 13:16:26 发布