今日内容概要
1、匿名函数与内置函数
lambda
filter
map
reduce
2、面向过程编程
3、模块
import
from 。。。 import
4、模块的搜索路径
5、模块的两种用途
今日内容详情
-
匿名函数与内置函数
一、匿名函数 1.什么是匿名函数? 匿名函数就是没有名字的函数 2.为何要用匿名函数? 用于临时使用一次的场景 3.如何定义匿名函数? lambda 参数1,参数2,...: expression 二、内置函数 函数map、reduce、filter都支持迭代器协议,用来处理可迭代对象,我们以一个可迭代对象array为例来介绍它们三个的用法 array=[1,2,3,4,5] 一:对array的每个元素做平方处理,可以使用map函数 map函数可以接收两个参数,一个是函数,另外一个是可迭代对象 res=map(lambda x:x**2,array) 二:对array进行合并操作,比如求和运算,这就用到了reduce函数 reduce函数可以接收三个参数,一个是函数,第二个是可迭代对象,第三个是初始值 from functools import reduce res=reduce(lambda x,y:x+y,array) 三:对array进行过滤操作,这就用到了filter函数,比如过滤出大于3的元素 res=filter(lambda x:x>3,array)
-
面向过程编程
面向过程编程思想 过程就是流程,即先干什么再干什么后干什么 基于该思想写程序就好比在设计一条条的流水线 优点:复杂的问题流程化、进而简单化 缺点:牵一发而动全身,扩展性差
-
模块
自定义模块 1、一个py就是一个模块 2、包就是一个存放有__init__.py文件的文件夹,包的本质就是一个模块 三种来源: 1、自带的 内置 标准库 2、第三方的 pip3 install 第三方库 3、自定义的 首次导入模块发生2件事 1.会触发spam.py的运行,会产生一个模块的名称空间,用来存放模块运行过程中的名字 2.会在当前文件的名称空间中产生一个名字spam,该名称指向模块的名称空间 * 避免出现循环导入问题
-
模块的搜索路径
模块搜索路径,优先级从高到低 1、内存 2、内置 3、sys.path
-
模块的两种用途
两种用途: 一:脚本,一个文件就是整个程序,用来被执行 二:模块,文件中存放着一堆功能,用来被导入使用 python为我们内置了全局变量__name__, 当文件被当做脚本执行时:__name__ 等于'__main__' 当文件被当做模块导入时:__name__等于模块名 控制.py文件在不同的应用场景下执行不同的逻辑 if __name__ == '__main__':
参考地址:https://www.cnblogs.com/linhaifeng/articles/6379069.html#_label5
https://zhuanlan.zhihu.com/p/109127048