模块和包
一、map和reduce
from functools import reduce
"""
用法一:
map(函数,序列) --将原序列中的元素,按函数的标准转换成新的序列。
函数的要求:
a.是一个函数
b.有一个参数(指向后面的的这个序列的元素)
c.需要一个返回值(就新系列中的元素)
用法二:
map(函数,序列1,序列2)
函数的要求:
有两个参数(参数多少,看序列多少),分别指向后面两个序列的元素
返回值(新序列的元素)
"""
nums = [15, 45, 78, 65, 23]
result1 = map(lambda x: x % 10, nums)
print(list(result1))
names = ['苹果', '小爱同学', '耳机', '天猫精灵']
nums = [1823, 22221, 891, 78]
result2 = map(lambda x, y: (x, y), names, nums)
print(dict(result2))
"""
reduce(函数,序列,初始值)
函数的要求:
a.函数
b.有且只有两个参数(第一个参数第一次指向初始值;从第二次开始,指向上一次的计算结果
;第二个参数指向序列中的每一个元素)
c.有一个返回值(返回值决定合并规则)
"""
nums = [12, 5, 89, 33]
result = reduce(lambda x, y: x + y, nums, 0)
print(result)
nums = [23, 34, 56, 67, 8]
result3 = reduce(lambda x, y: x + y % 10, nums, 0)
print(result3)
nums1 = [23, '78.9', 9, '10']
result4 = reduce(lambda x, y: x + float(y), nums1, 0)
print(result4)
nums2 = [23, 8.9, 'abc', True, '2']
result5 = reduce(lambda x, y: x * (y if type(y) in [int, float] else 1), nums2, 1)
print(result5)
二、模块的使用
"""
1)import 模块名 --导入后需要通过‘模块名(就是文件名).xxx’的形式去使用模块中的内容
2)from 模块名 import 变量名1,变量名2,,,, ----导入指定模块的指定变量;导入后直接使用
3)重命名
import 模块名 as 新模块名(给模块名命名); from 模块名import 变量名1 as 新变量名1,变量名2 as 新变量名2
4)通配符
from 模块名 import * ---导入指定模块中所有的指定变量
"""
if __name__ == '__main__':
pass
三、包的使用
from files import open_file
open_file()