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的自我想法和对其的理解,有不对的地方请同志们多多包涵,谢谢观看!

相关文章
|
12天前
|
JavaScript Java 大数据
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
5月前
|
安全 数据安全/隐私保护 Python
Python学习的自我理解和想法(27)
本文记录了学习Python第27天的内容,主要介绍了使用Python操作PPTX和PDF的技巧。其中包括通过`python-pptx`库创建PPTX文件的详细步骤,如创建幻灯片对象、选择母版布局、编辑标题与副标题、添加文本框和图片,以及保存文件。此外,还讲解了如何利用`PyPDF2`库为PDF文件加密,涵盖安装库、定义函数、读取文件、设置密码及保存加密文件的过程。文章总结了Python在处理文档时的强大功能,并表达了对读者应用这些技能的期待。
|
3月前
|
算法 IDE 测试技术
python学习需要注意的事项
python学习需要注意的事项
205 57
|
3月前
|
JSON 数据安全/隐私保护 数据格式
拼多多批量下单软件,拼多多无限账号下单软件,python框架仅供学习参考
完整的拼多多自动化下单框架,包含登录、搜索商品、获取商品列表、下单等功能。
|
3月前
|
机器学习/深度学习 数据安全/隐私保护 计算机视觉
过三色刷脸技术,过三色刷脸技术教程,插件过人脸python分享学习
三色刷脸技术是基于RGB三通道分离的人脸特征提取方法,通过分析人脸在不同颜色通道的特征差异
|
3月前
|
监控 数据安全/隐私保护 Python
微信自动抢红包免费版,2025微信抢红包神器,微信红包挂苹果版【python仅供学习】
这个模拟项目包含5个模块:核心监控逻辑、用户界面、配置管理、实用工具和主程序入口
|
4月前
|
数据采集 存储 监控
抖音直播间采集提取工具,直播间匿名截流获客软件,Python开发【仅供学习】
这是一套基于Python开发的抖音直播间数据采集与分析系统,包含观众信息获取、弹幕监控及数据存储等功能。代码采用requests、websockets和sqlite3等...
|
5月前
|
存储 搜索推荐 算法
Python学习的自我理解和想法(28)
本文记录了学习Python第28天的内容——冒泡排序。通过B站千锋教育课程学习,非原创代码。文章详细介绍了冒泡排序的起源、概念、工作原理及多种Python实现方式(普通版、进阶版1和进阶版2)。同时分析了其时间复杂度(最坏、最好、平均情况)与空间复杂度,并探讨了实际应用场景(如小规模数据排序、教学示例)及局限性(如效率低下、不适用于高实时性场景)。最后总结了冒泡排序的意义及其对初学者的重要性。
|
5月前
|
Python
Python学习的自我理解和想法(26)
这是一篇关于使用Python操作Word文档的学习总结,基于B站千锋教育课程内容编写。主要介绍了通过`python-docx`库在Word中插入列表(有序与无序)、表格,以及读取docx文件的方法。详细展示了代码示例与结果,涵盖创建文档对象、添加数据、设置样式、保存文件等步骤。虽为开学后时间有限下的简要记录,但仍清晰梳理了核心知识点,有助于初学者掌握自动化办公技巧。不足之处欢迎指正!
|
22天前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
191 102

推荐镜像

更多