菜鸟Python笔记-基础篇07:函数(三)
2018-08-25 本文已影响0人
阿孝不会飞
一、递归函数
<1>什么是递归函数
通过前面的学习知道一个函数可以调用其他函数。
如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数。
<2>递归函数的作用
举个例子,我们来计算阶乘 n! = 1 * 2 * 3 * ... * n
解决办法1:
计算阶乘
看阶乘的规律:
1! = 1
2! = 2 × 1 = 2 × 1!
3! = 3 × 2 × 1 = 3 × 2!
4! = 4 × 3 × 2 × 1 = 4 × 3!
...
n! = n × (n-1)!
解决办法2:
递归函数
原理:
image
二、匿名函数
用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。
lambda函数的语法只包含一个语句,如下:
lambda [arg1 [,arg2,.....argn]]:expression
如下实例:
sum = lambda arg1, arg2: arg1 + arg2
# 调用sum函数
print("Value of total : " % sum( 10, 20 ))
print("Value of total : "% sum( 20, 20 ))
以上实例输出结果:
Value of total : 30
Value of total : 40
总结:
- Lambda函数能接收任何数量的参数但只能返回一个表达式的值
- 匿名函数不能直接调用print,因为lambda需要一个表达式
三、列表推导式
所谓的列表推导式,就是指的轻量级循环创建列表