Python学习的自我理解和想法(12)

简介: 本文记录了学习Python第12天的内容,主要包括回调函数、闭包函数、函数作用域、filter方法、map方法和装饰器函数等核心概念。通过定义、语法、实例及优缺点分析,深入浅出地讲解了这些技术的应用场景与实现方式。其中,回调函数适合异步编程,闭包可访问外部变量,装饰器用于增强函数功能而不改变原代码。文章基于B站千锋教育课程整理,非原创代码,旨在分享学习心得,欢迎指正!

学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码!
今天是学Python的第12天,学的内容是函数。开学了,时间不多,写得不多,见谅。
目录
1.回调函数
(1).定义
(2).语法
(3).举例
(4).实例
(5).回调函数的优缺点
1.优点
2.缺点
2.闭包函数
(1).定义
(2).语法
(3).最简单的闭包函数
(4).闭包小练习
3.函数的作用域
(1).含义
(2).不存在作用域的函数
(3).作用域的用处
(4).全局变量
4.filter方法
5.map方法
6.修改某一函数-装饰器函数
(1).存在意义
(2).注意
(3).调用
1.普通调用​编辑
2.简写​编辑
(4).装饰器的其他用法
1.一个装饰器修饰多个函数​编辑
2.一个函数有多个装饰器修饰
总结


1.回调函数

(1).定义

回调函数是一种将一个函数作为参数传递给另一个函数,并在特定条件下被调用的编程模式。这种模式在异步编程、事件处理和函数式编程中非常常见。

(2).语法

把一个函数(a)作为一个参数传递到另一个函数(b)中去,那么这个函数a我们就叫做回调函数.
image.png

(3).举例

image.png

(4).实例

image.png

(5).回调函数的优缺点

1.优点

灵活性:可以在不同的上下文中传递不同的回调函数,实现不同的行为。
异步编程:适用于处理异步操作,避免阻塞程序的执行。

2.缺点

回调地狱:当多个异步操作嵌套使用回调函数时,代码可能会变得难以阅读和维护。
错误处理困难:在复杂的回调链中,错误处理可能会变得复杂。

2.闭包函数

(1).定义

闭包是指一个函数能够访问其外部函数的变量,即使外部函数已经执行完毕。闭包在函数式编程和面向对象编程中都有广泛的应用。

(2).语法

如果一个函数里面嵌套了另一个函数,外部的函数叫外函数,内部的函数叫内函数,如果在一个外部函数中定义了一个内部函数,并且外部函数的返回值是内部函数,就构成了一个闭包,则这个内部函数就称为闭包.

(3).最简单的闭包函数

image.png

(4).闭包小练习

image.png
自我理解:有点像嵌套的感觉.

3.函数的作用域

(1).含义

变量能够生效的范围

(2).不存在作用域的函数

if 等分支语句和for in 等循环语句不存在作用域的问题,他们里面定义的变量可以在外部直接被访问.
image.png

(3).作用域的用处

函数内部的变量,在函数的外部不能直接访问,但函数内部可以直接访问函数外部的变量.
image.png
image.png

(4).全局变量

若想在函数的内部直接修改函数外部的变量,需要使用global关键字,将函数内部变量变更为全局变量.
image.png

4.filter方法

语法:filter()内置内有两个参数:第一个参数是一个函数,第二个参数是一个可迭代对象.返回值是一个filter类型的对象.偏向于每一个对迭代对象中的数据做一次筛选.
image.png
image.png

5.map方法

image.png

6.修改某一函数-装饰器函数

(1).存在意义

修改某一函数,但不改变原函数.

(2).注意

1.在使用装饰器函数简写时,原函数必须在装饰器函数的下面.
2.outer函数就是装饰器函数 @outer ===> test =outer(test).

(3).调用

1.普通调用

image.png

2.简写

image.png

(4).装饰器的其他用法

1.一个装饰器修饰多个函数

image.png

2.一个函数有多个装饰器修饰

image.png
一个函数被多个装饰器修饰

总结

回调函数、闭包函数、函数的作用域、filter方法、map方法和装饰器函数是编程中非常重要的概念和技术。它们可以帮助我们更高效地编写代码,实现更复杂的功能。希望本文能够帮助你更好地理解和运用这些概念和技术。
这是我今天学Python的自我想法和对其的理解,有不对的地方请同志们多多包涵,谢谢观看!

相关文章
|
2月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
331 1
|
2月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
196 1
|
2月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
295 1
|
2月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
176 4
|
3月前
|
JavaScript Java 大数据
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
5月前
|
算法 IDE 测试技术
python学习需要注意的事项
python学习需要注意的事项
277 57
|
5月前
|
JSON 数据安全/隐私保护 数据格式
拼多多批量下单软件,拼多多无限账号下单软件,python框架仅供学习参考
完整的拼多多自动化下单框架,包含登录、搜索商品、获取商品列表、下单等功能。
|
5月前
|
机器学习/深度学习 数据安全/隐私保护 计算机视觉
过三色刷脸技术,过三色刷脸技术教程,插件过人脸python分享学习
三色刷脸技术是基于RGB三通道分离的人脸特征提取方法,通过分析人脸在不同颜色通道的特征差异
|
5月前
|
监控 数据安全/隐私保护 Python
微信自动抢红包免费版,2025微信抢红包神器,微信红包挂苹果版【python仅供学习】
这个模拟项目包含5个模块:核心监控逻辑、用户界面、配置管理、实用工具和主程序入口

推荐镜像

更多