Python基础笔记——函数2

递归函数

定义

1.定义:函数自己调用自己
2.形成条件:
(1)函数自己调用自己
(2)必须有一个终止条件

实例

# 已知室内每人相差三岁,第一个人18岁,求第6个人的年龄。
# 定义函数
def two_age(n=6):
	# 判断是否为第一个人
    if n == 1:
        return 18
    # 求第n个人的年龄,只需要n-1这人的年龄 + 2
    # 再次调用函数two_age
    age = two_age(n - 1) + 3
    # 返回结果
    return age
# 调用函数
print(two_age())
# 求阶乘
# 定义函数
def func2(n):
	# 若n=1则直接输出
    if n == 1:
        return 1
    # 想要求n的阶乘,只需要n-1的阶乘*n
    # 再次调用函数求n-1值
    num = func2(n - 1) * n
    # 返回n值
    return num
# 输出调用函数,带入n值为5
print(func2(5))

匿名函数

定义

使用 lambda 关键字定义的函数就是匿名函数
语法格式:lambda[形参1],[形参2],…:[单行表达式]或[函数调用]

注意

1.匿名函数不能使用if语句、while、for循环语句,只能编写单行表达式或普通函数
2.匿名函数不需要使用return,其运行结果就是return
3.匿名函数也可以直接输出 lambda : print(‘hello world’)

# 无参无返回值
# 定义函数
f1 = lambda: print("hello lambda")
# 调用函数
f1()
# 结果:hello lambda
# 无参有返回值
f2 = lambda: 1 + 2
print(f2())
# 结果:3
# 有参无返回值
f3 = lambda name: print(name)
f3("python基础")
# 结果:python基础
# 有参有返回值
f4 = lambda *args: args
print(f4("asf", "asf", "age"))

实例:

# 定义函数
def my_calc(a, b, func):
    """
    进行四则运算
    :param a:第一个数据
    :param b:第二个数据
    :param func:函数要进行的运算
    :return:运算结果
    """
    # 返回结果分割符
    print("——————————————————")
    # 调用函数add
    num = func(a, b)
    # 输出结果
    print(num)
# 定义函数add
def add(a, b):
    return a + b
# 调用
my_calc(10, 20, add)
# 带入lambda函数,执行运算
my_calc(10, 20, lambda a, b: a - b)
my_calc(10, 20, lambda a, b: a * b)
my_calc(10, 20, lambda a, b: a / b) 
my_calc(10, 20, lambda a, b: a + b ** 2)
# 结果:
————————————————
30
————————————————
-10
————————————————
200
————————————————
0.5
————————————————
410
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值