学习Python的第七节课(函数调用、列表解析、嵌套和递归等等)
2023-09-11 14:16:46 时间
学习Python的第七节课(函数调用、列表解析、嵌套和递归等等)
一、函数调用
函数的本质就是一段有特定功能、可以重复使用的代码。
一个函数可以调用另一个函数。当被调用的函数结束时(即return语句之后
或者被调用函数的最后一个语句执行完毕之后),控制流程返回到调用函
数之后的位置。
函数调用案例集锦,比如:从键盘上任意输入整数,求阶乘,并输出结
果。
调用函数例子总结
(1)一个函数被调用的前提是其已存在,或是库模块中函数。或是用户已定
义好的函数。对于模块中函数,在运用之前调用import语句导入模块即可.
(2)函数有两种情况:一种是有返回值的函数,一种是只完成一定的操作,不
返回值。
对于有返回值,函数的调用形式是:
变量=函数名([实参列表]) //val=factorial(m)
对于没有返回值,函数的调用形式是:
函数名([实参列表]) //start( ) , end( )
(3)调用函数时,函数的形参与实参要求个数相等。并且对应的形参和空参
的类型相同。若被调函数是无参函数,则实参表列为空。
(4)数据传递是通过形参接收实参的数值完成的。函数的实参和形参之间的
数据传递是单方向的值传递方式,即只能把实参的值传递给形参。而形参
值的任何变化都不会影响实参。
(5)调用函数时,当实参个数多于一个时,用逗号让各参数彼此分隔开。
二、可变长参数
在Python中,还可以定义可变参数。可变参数也称为不定长参数,即传入
函数中的实际参数可以是0个、一个、两个到任意个。
定义可变参数时,主要有两种形式:一种是*parameter,另一种是
**parameter。
*parameter
**parameter
三、函数参数传递
四、多返回值函数与列表解析
1、多返回值函数
①函数可以返回任何类型的对象,不仅仅只有数字、字符(串)或布尔值,还
可以返回列表等;函数也可以没有任何返回。
②函数返回多个值的案例:定义函数,一次性返回和、平均值、最大值、
最小值等。
有返回值
无返回值
2、列表解析
①列表解析式是将一个列表转换成另一个列表的工具。在转换过程中,可
以指定元素必须符合一定的条件,才能添加至新的列表中,这样每个元素
都可以按需要进行转换。
②每个列表解析式都可以重写为for循环,但不是每个for循环都能重写为列
表解析式。
③list2=[f(x) for x in list1]
基于内建函数和自定义函数进行列表解析
除了列表外,列表解析也可以应用在其他对象上,比如字符串、元祖、由range函数产生的算术表达式等。
五、函数的嵌套与递归
1、函数嵌套
Python语言允许在一个函数的定义中出现对另一个函数的调用,这就是函数的嵌套调用,即在被调用函数中又调用其他函数。
使用函数嵌套调用。编写代码求下列函数之和
2、函数递归
一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函
数,python允许函数的递归调用。在递归调用中,主调函数又是被调函
数。执行递归函数将反复调用其自身,每调用一次就进入新的一层。
使用函数递归求n!
思路:把n阶问题转化为n-1的问题,即factorial(k)=k*factorial(k-1)。
函数的递归总结
每—次函数调用,都需要在内存栈中分配空间以保存参数、返回地址以及
临时变量。当最后一次函数调用运行结束时,每返回一层,就释放本次调
用所分配的存储空间,并弹出上一层分配空间中保存的参数、返回地址以及
临时变量等。
六、作业
相关文章
- Python之——python-nmap的安装与常用方法说明
- 【Python成长之路】python 基础篇 -- global/nonlocal关键字使用
- Python程序 #!/usr/bin/python 的解释
- 在Python中使用lambda高效操作列表的教程
- python: 安装DeOldify库:黑白图片上色(Python 3.7.15)
- 【Python五篇慢慢弹】数据结构看python
- Python学习小技巧之列表项的排序
- python 使用set对列表去重,并保持列表原来顺序
- Atitit.得到网络邻居列表java php c#.net python
- python程序员都在用到5个酷毙的Python工具
- Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)—从而实现Python编程图文教程之详细攻略
- Python语言学习:在python中,如何获取变量的本身字符串名字而非其值/内容及其应用(在代码中如何查找同值的所有变量名)
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法
- Python之ffmpeg-python:ffmpeg-python库的简介、安装、使用方法之详细攻略
- Python语言学习:Python语言学习之python包/库package的简介(模块的封装/模块路径搜索/模块导入方法/自定义导入模块实现华氏-摄氏温度转换案例应用)、使用方法、管理工具之详细攻略
- Python语言学习:Python语言学习之列表/元祖/字典/集合的简介、案例应用之详细攻略
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- Python编程语言学习:一行代码利用enumerate函数把纯列表数据转为自带索引的字典数据,字典格式数据应用之key和value相互提取
- Python编程语言学习:python编程语言中重要函数讲解之map函数等简介、使用方法之详细攻略
- Python编程语言学习:判断两个列表是否对应完全相等(巧解输出是一摸一样的列表数据,但就是不相等)
- Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略
- Python语言学习之数值、小数、空格那些事:python和数值、小数、空格的使用方法之详细攻略
- Python编程:shelve模块-持久化python数据
- Python编程:python中的计时器timeit模块
- Python爬虫:PyExecJS在python中运行javascript代码
- 写网络爬虫天然就是择Python而用 python 网络爬虫3
- python使用技巧(三十三):多维列表list数据写入Excel的xlsx文件
- python 字符串与列表的相互转化