文章目录
P67 函数入门
1. 基本语法
2. 函数的调用
3. 函数的注意事项和使用细节
P71 递归机制
1. 基本介绍
1、简单的说: 递归就是函数自己调用自己,每次调用时传入不同的值
2、递归有助于编程者解决复杂问题,同时可以让代码变得简洁
2.递归能解决什么问题
1、各种数学问题如:8皇后问题,汉诺塔,阶乘问题,迷宫问题等等。
2、各种算法中也会使用到递归,比如快排,归并排序,二分查找,分治算法等.
3、将用栈解决的问题->递归代码比较简洁
3. 递归的重要规则
P72 函数作为参数传递
def f2(num1,num2):
max1 = num1 if num1 > num2 else num2
return max1,num2+num1
def f1(fun ,n1,n2):
return fun(n1,n2)
# 测试
x,y = f1(f2,10,20)
print(f"x={x},y={y}")
- 注意事项和细节
- 函数作为参数传递,传递的不是数据,而是业务数据处理逻辑
- 一个函数,可以接受多个函数作为参数传入
P73 lambda匿名函数
- 基本介绍
- lambda函数的定义
- 匿名函数基本语法
4. 实例
def f1(fun,num1,num2):
# print(f"fun类型: {type(fun)}")
return fun(num1,num2)
# 匿名函数
# 不需要return ,运算的结果就是返回值
lambda n1 ,n2 : n1 if n1 > n1+1 else n1+1
max_val = f1(lambda a,b: a if a>b else b,12,10)
print(f"max_val = {max_val}")
P74 全局变量和局部变量
- 基本介绍
- 注意事项和使用细节
ps: 此处n1的值会发生改变