Python函数与函数式编程详解
需积分: 9 103 浏览量
更新于2024-09-08
收藏 358KB PDF 举报
"sigai-6 Python教程,讲解Python中的函数与函数式编程,由丁宁在SIGAI课程中录制。课程涵盖了函数定义、参数、命名空间与作用域解析等核心概念。"
在Python编程中,函数是组织良好且可重用的代码块,它们允许我们将复杂的任务分解为更小、更易于管理的部分。本节课程主要讨论了以下几个知识点:
1. **认识函数**:
函数是一组执行特定任务的语句,它将代码封装起来,以便在需要时调用。通过`def`关键字定义函数,例如`def function_name(parameters):`。
2. **代码块**:
Python的代码块通过缩进来定义,通常使用4个空格而不是制表符。代码块由冒号`:`引导,并以相同的缩进级别结束。它可以包含各种控制结构,如条件语句、循环、函数和类定义等。
3. **函数参数**:
- **形参(形式参数)**:在函数定义中声明的参数,它们在函数内部使用。
- **实参(实际参数)**:在调用函数时传递给形参的值。
- **参数传递**:Python采用“传对象引用”而非“传值”或“传引用”。这意味着如果参数是可变对象(如列表或字典),函数内部的修改会影响到原始对象。
4. **位置参数与关键字参数**:
- **位置参数**:按照顺序匹配到函数定义中的形参。
- **关键字参数**:通过参数名指定,允许调用者不记住参数顺序,同时可以设置默认值,使函数调用更灵活。
5. **任意数量的参数**:
- **星号(*)参数**:用于收集位置参数,形成一个元组。
- **双星号(**)参数:用于收集关键字参数,形成一个字典。
6. **命名空间与作用域**:
- **命名空间**:变量的存储区域,每个函数、模块和全局范围都有自己的命名空间。
- **作用域**:变量的可见性范围,如局部作用域(仅在函数内可见)、全局作用域(整个脚本可见)。
- **查看命名空间**:`globals()`返回全局命名空间,`locals()`返回当前作用域的命名空间。
- **作用域规则**:局部变量优先于全局变量,除非使用`global`关键字声明。
- **变量遮盖**:当同名变量在不同作用域中时,局部作用域的变量会遮盖全局作用域的变量。
7. **return语句**:
- 可以省略,表示函数无返回值。
- 单独使用,表示函数结束并返回当前点的值。
- 可以返回多个值,通过元组实现。
8. **docstring**:
函数定义首行的三引号字符串,用于记录函数的功能、参数和返回值,方便使用`help()`函数查看。
9. **函数式编程**:
虽然课程没有深入讨论,但函数式编程是Python中的一个重要概念,它强调使用函数作为一等公民,支持高阶函数、闭包和惰性求值等特性。
通过理解和掌握这些基本概念,开发者能够编写更加模块化、可维护的Python代码,特别是在AI领域,这样的编程风格有助于提高代码的效率和可读性。
2019-03-17 上传
2022-08-03 上传
2019-11-10 上传
2023-10-03 上传
2023-09-05 上传
2023-05-10 上传
2018-06-26 上传
2018-06-26 上传
2018-06-26 上传
我爱丐帮帮主
- 粉丝: 31
- 资源: 2
最新资源
- 磁性吸附笔筒设计创新,行业文档精选
- Java Swing实现的俄罗斯方块游戏代码分享
- 骨折生长的二维与三维模型比较分析
- 水彩花卉与羽毛无缝背景矢量素材
- 设计一种高效的袋料分离装置
- 探索4.20图包.zip的奥秘
- RabbitMQ 3.7.x延时消息交换插件安装与操作指南
- 解决NLTK下载停用词失败的问题
- 多系统平台的并行处理技术研究
- Jekyll项目实战:网页设计作业的入门练习
- discord.js v13按钮分页包实现教程与应用
- SpringBoot与Uniapp结合开发短视频APP实战教程
- Tensorflow学习笔记深度解析:人工智能实践指南
- 无服务器部署管理器:防止错误部署AWS帐户
- 医疗图标矢量素材合集:扁平风格16图标(PNG/EPS/PSD)
- 人工智能基础课程汇报PPT模板下载