第十二天总结
-
map – 将序列中的元素进行变换
-
用法一:
-
map(函数,序列) – 将原序中的元素,按照元素给定的标准转换
-
函数的要求:
- 有一个参数(指向后面序列中的元素)
- 需要一个返回值(返回就是新序列中的元素)
获取nums中所有元素个位数 nums = [19, 78, 89, 65, 46] result = map(lambda item: item % 10, nums)
-
-
用法二:
-
map(函数,序列1,序列2)
-
函数的要求
- 有两个参数(序列决定参数,分别指向后面的元素)
- 需要一个返回值(返回值就是新序列中的元素)
练习:将以下两个列表按照下面的要求转换字典: {'苹果': 1823, '小爱同学':22221, '耳机': 891, '天猫精灵': 78} names = ['苹果', '小爱同学', '耳机', '天猫精灵'] nums = [1823, 22221, 891, 78] result1 = dict(map(lambda item1, item2: (item1, item2), names, nums)) print(result1)
-
-
-
reduce() – 按照指定规则对序列中的元素进行合并操纵
-
reduce(函数,序列,初始值)
-
有且只有两个初始值(第一个参数第一次指向初始值从第二次指向上一次的计算结果第二个参数指向序列中的每个元素)
-
有一个返回值(返回值直接决定合并规则)
练习1:求所有的数的个位的和 from functools import reduce nums = [23, 34, 56, 67, 8] result1 = reduce(lambda x, y: x+y % 10, nums, 0) print(result1)
-
-
模块
- 一个py文件就是一个模块
- 在python中可以在一个模块去使用另一个模块中的所有全局变量(先导入)
3.1 导入模块
-
直接导入模块 : import 模块名 ---- 导入指定模块,通过模块名.xxxx 的形式
-
导入模块中的变量: form 模块名 import 变量1,变量2~~~~ – 导入指定模块的指定变量,导入后直接使用
-
重命名: import as 新的模块名 — 重命名后使用新的名字
-
form 模块 import 变量1 as 新变量, 变量二 as 新变量2
-
通配符的使用: from 模块名 import * – 导入新的模块所有新的模块
import as 新的模块名 from 模块 import 变量1 as 新变量1,变量2 as 新变量2 3.导入模块的原理 不管以什么样的方式导入模块,在导入模块的时候系统会自动进入被导入模块,将代码全部执行一遍 python导入模块的时候会自动检查之前的模块是否一已经导入过,如果已经导入过不会重复执行 if __name__ == '__main__': if 里面的代码不会被其他语句执行,只能被自己执行 if外面的才会被其他模块执行