1.函数返回(return) 值
1.1 什么是返回值 - 返回值就是从函数内部传递到函数外部的数据(Python中的每个函数都可以传递一个数据到函数的外部)
1.2 怎么确定一个函数的返回值(怎么在函数的内部将数据传递到函数的外部)return后面的值就是函数的返回值(执行函数体的时,候如果遇到 return,return后面的值就是函数的返回值)
1.3 怎么在函数外部获取函数返回值
获取函数调用表达式的值就是获取这个函数的返回值
函数调用表达式 - 调用函数的语句
1.4 什么时候使用返回值:
如果实现函数的功能,产生了新的数据,就将新的数据作为函数的返回值返回
# 1)return确定返回值
# return后面放需要返回的数据
def func1(a, b):
# a = 10, b = 20
result = a + b # 30
return result # return 30
# 一个函数只有一个返回值(一个函数最多只能有一个return有效);如果想要把多个数据作为函数的返回值返回,可以在一个return后面写多个数据
def func2(a, b):
result1 = a + b
result2 = a * b
return result1, result2
# return除了可以返回数据,还会提前结束函数(执行函数体的时候如果遇到return,函数直接结束)
def func3():
print('++++++')
print('------')
return # 相当于 return None
print('======')
-
获取函数的返回值
函数调用表达式的值就是函数的返回值。
2.变量作用域
2.1 定义:变量使用的有效范围
变量:可以分为全局变量和局部变量。
2.1.1 全局变量:没有定义在函数或类里面的变量。
2.1.2 局部变量:定义在函数中的变量是局部变量,定义在类中的变量是属性。
作用域:从定义开始到函数结束。
3.不同变量的存储方式
全局变量默认保存在全局栈区间,程序结束后才会被释放。
局部变量默认保存在函数对应的临时栈区间,函数调用结束后会自动释放。
在函数中定义变量的时候,可以必须在变量前加 global 关键字,让函数中定义的变量可保存在全局栈区间。
如果要在函数内修改一个全局变量的值,必须先用 global 对变量进行声明。
4.函数参数的确定
4.1 调用函数的时候,实参由参数在函数体中的使用方式确定
5.实参高阶函数
5.1 定义:函数的参数是函数。
如果一个参数是函数,传参的时候有两种方法:1)用普通函数的函数名
2)使用匿名函数
6.匿名函数
6.1 定义:匿名函数的本质还是函数,但是它只能实现简单的功能
(一行语句就能实现的功能)
函数名 = lambda 形参列表:返回值 相当于: def 函数名(形参列表): return 返回值 6.2 应用
在给实参高阶函数传参的时候,可以使用普通函数的函数名,也可以使用匿名函数(尽量使用匿名函数)
7.常用实参高阶函数(max、min、map、sorted)
7.1 max(序列)
7.2 max(序列,key=函数)
函数的要求:a.有且只有一个参数(这个参数代表序列中的每一个元素)
b.需要一个返回值(返回值是比较对象,将参数看成元素,在这个地方来描述比较对象和元素之间的关系)
示例1:求nums中值最大的元素 nums = [18, 23, 67, 90, 56, 49] result = max(nums, key=lambda item: item) print(result)
7.3 map(函数,序列1,序列2)
函数的要求:a.有且只有两个参数(分别代表后面两个序列中的元素)
b. 有返回值(返回的是对应新序列中的元素)
推广:map(函数、序列1、序列2、序列3…)
nums = [82, 67, 89, 6617, 90, 23, 71]
# [2, 7, 9, 7, 0, 3, 1]
result = map(lambda item: item % 10, nums)
print(list(result))
7.4 reduce 将序列中所有的元素通过指定的规则合并成一个数据
reduce(函数, 序列, 默认值)
函数的要求:a.有且只有两个参数(第一个参数指向默认值,第二个参数指向序列中的每个元素)
b.需要一个返回值(描述合并方式,说清楚最后的结果是初始值和序列中元素进行什么样的操作得到的)
注意:reduce使用之前要先导入
from functools import reduce
示例1: 求nums中所有元素的和
nums = [10, 20, 30, 40]
# 0 + 10 + 20 + 30 + 40
result = reduce(lambda i, item: i + item, nums, 0)
print(result)
7.5 sorted(升序或降序排列)
# 练习4:将students中的元素按照分数从高到低排序
# 方法一
result = sorted(students, key=lambda item: item['score'], reverse=True)
print(result)
# 方法二
students.sort(key=lambda item: item['score'], reverse=True)
print(students)
本文详细讲解了Python函数的返回值,包括返回值的定义、如何确定和获取,以及何时使用返回值。此外,还介绍了变量作用域的概念,区分了全局变量和局部变量。进一步探讨了函数参数的确定,特别是实参高阶函数的使用,并提到了匿名函数的应用,如max、min、map和sorted等高阶函数的示例。

3154

被折叠的 条评论
为什么被折叠?



