Python程序设计;学习目标;;;函数:封装了特定任务实现的代码块
内置函数
标准库函数
第三方库函数
自定义函数
函数代码非调用不执行
减少重复代码,避免代码冗余
提高代码的可读性和可维护性
代码更加模块化,便于组织和维护;5.2函数定义与调用;函数模拟切水果机器(定义部分);没有返回值的函数直接调用
有返回值的函数可将返回值赋值给其他变量;函数模拟切水果机器(调用部分);;;返回值是函数内部需要传递到函数外部的数据
计算结果:面积计算、利息计算、三角函数
状态信息:数据是否保存成功、数据是否合法
数据加工结果:排序结果、数据检索结果
返回值使用return语句返回给调用者
Python函数返回值形式
None
单一值
多个值;返回None值
没有return语句,函数体执行完毕返回时
遇到return语句但return之后没有数据时;返回None值
没有return语句,函数体执行完毕返回时
遇到return语句但return之后没有数据时;返回单一值(一个return);返回单一值(多个return);返回多个值:多个数据被函数组合成元组返回;参数传递方式决定函数如何接收外部数据
位置参数
默认参数
关键字参数
变长参数
不可变实参和可变实参;位置参数:调用函数时,必须按照函数定义中形式参数的顺序,提供实际参数,不能随意改变;默认参数:函数定义中可以为某些形参提供默认值,调用函数时如果没有为这些参数提供实参,函数将自动传入定义中指定的默认值;关键字参数:调用函数时通过“形参名=值”的语法指定参数的值,不必依赖定义中形参的位置顺序;变长参数:允许函数接收不定数量的实参
*形参名:函数内部将该参数做元组使用
调用时依次传入实参,逗号隔开;变长参数:允许函数接收不定数量的实参
**形参名:函数内部将该参数做字典使用
调用时使用关键字参数传参;变长参数使用要点
从函数定义中的参数列表看不出具体参数
实现方和调用方应协商好参数的具体定义
必要情况下提供相应的接口描述;不可变实参:函数内部对形参的修改不会影响实参;可变实参:函数内部对形参的修改会反映到实参;;;变量作用域:变量能够被使用的范围
全局变量
局部变量;全局变量:定义在源文件中,处于函数、类定义之外的变量
在整个程序运行期间都存在
程序的任何位置都可以读取和修改全局变量;局部变量:函数内部定义的变量
函数被调用时创建,函数执行期间存在
只能在该函数内部使用
;对于一个变量,当函数内部仅读取它时,认为该变量是全局变量
;对于一个变量,当函数内部对它赋值时,认为该变量是局部变量
;对于一个变量,当函数内部对它赋值时,认为该变量是局部变量
;在函数内部修改全局变量的值,需在函数内部用global先行声明
;;;高阶函数:能够接受其他函数作为参数,或者返回一个函数作为结果的函数;lambda表达式:一种简洁的函数定义方式,定义一个简单的、单表达式的匿名函数
参数列表:可以是任意数量的参数,多个参数之间用逗号隔开
表达式:通常是一个较为简单的单一表达式,其值即为函数的返回值
;将lambda表达式定义的匿名函数存放在变量中,以变量名作为函数名调用;使用lambda表达式对字典键值对排序;map():接受一个函数和N个(N≥1)可迭代对象作为参数,函数应用于可迭代对象的每个元素,并返回一个迭代器,其中包含应用函数后的结果
通常将这个迭代器转换成列表等数据结构后再使用;使用map()将列表所有字符串转换为小写;map()处理多个可迭代对象;filter():用于筛选数据,它接受一个函数和一个可迭代对象作为参数,函数对可迭代对象的每个元素进行测试,并返回一个迭代器,其中包含测试结果为True的元素
通常将这个迭代器转换成列表等数据结构后再使用;filter()筛选偶数;闭包:高阶函数的一种特殊形式
一个函数(记作“外层函数A”)定义中嵌套了另一个函数(记作“内嵌函数B”)
当外层函数A执行并返回内层函数B时,如果内嵌函数B需要访问外层函数A的局部变量,那么这个被返回的函数对象B就形成了一个闭包;定义闭包;调用闭包;本章结束
您可能关注的文档
- 国家级服务业标准化试点(智慧交通专项)任务书.doc
- 国家级服务业标准化试点(智慧交通专项)申请表.doc
- 道路运输企业主要负责人和安全生产管理人员安全考核题库 公共部分题库、 专业部分题库.pdf
- Python程序设计基础教程(微课版) 课件 第2章 - Python语法基础.pptx
- Python程序设计基础教程(微课版) 课件 第3章 - Python控制结构.pptx
- Python程序设计基础教程(微课版) 课件 第4章 - 序列、集合与字典.pptx
- Python程序设计基础教程(微课版) 课件 第6章 - Python文件操作.pptx
- Python程序设计基础教程(微课版) 课件 第7章 - Python面向对象编程.pptx
- Python程序设计基础教程(微课版) 课件 第8章 - Python GUI编程.pptx
- Python程序设计基础教程(微课版) 课件 第9章 - Python数据库编程.pptx
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- 2025年辽宁省文物博物初、中级专业技术资格考试历年参考题库含答案详解.docx VIP
- PLC实现的台车呼叫控制系统.pdf VIP
- 2025年辽宁省文物博物初、中级专业技术资格考试历年参考题库含答案详解(5卷).docx VIP
- 2025年辽宁省文物博物初、中级专业技术资格考试历年参考题库含答案详解.docx VIP
- 2026中国跨境电商物流体系优化与成本控制策略研究报告.docx
- 消防工程三措一方案(3篇).docx VIP
- 鱼我所欲也原文.docx VIP
- 计算机应用基础(Windows10+WPSOffice)教学教案.docx VIP
- 2025年贵州省中考语文试卷真题(含答案详解).docx
- 第2次超级机器人大战Z 再世篇.pdf VIP
原创力文档

文档评论(0)