| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> python中的函数 -> 正文阅读 |
|
[Python知识库]python中的函数 |
一、函数的定义与调用1、什么是函数:函数就是执行特定任务和完成特定功能的一段代码。 2、为什么需要函数(1)复用代码;(2)隐藏实现细节;(3)提高可维护性;(4)提高可读性便于调试; 3、函数的创建举例:创建一个加法函数:
二、函数的参数(难点)函数的参数分为: (1)函数的调用时的实际参数。 (2)函数的定义时的形式参数。 1、函数的参数传递-------位置实参,关键字实参(1)位置实参:根据形参对应的位置进行参数传递。
(2)关键字实参:根据形参名称进行参数传递。
2、函数参数传递的内存分析
代码结果: 总结:?? ?函数调用过程中,进行参数的传递 注意:字符串是不可变对象,列表是可变对象;所以上面代码中最后n1没有变,n2变化了。 3、函数的默认值参数函数定义时,给形参定义默认值,只有与默认值不符的时候才需要传递实参。
4、个数可变的位置参数与关键字参数1、个数可变的位置参数(1)定义函数时,无法事先确定传递的位置实参的个数时,使用可变的位置参数 (2)使用*定义个数可变的位置形参 (3)结果为一个元组
2、个数可变的关键字参数(1)定义函数时,无法事先确定传递的关键字实参的个数时,使用可变的关键字参数 (2)使用**定义个数可变的关键字形参 (3)结果为一个字典
3、两个可变参数的顺序个数可变的位置参数 只能放在 个数可变的关键字参数 之前。*只能在**之前。
5、函数的参数总结:1、函数的实参传递:(1)函数调用时按照位置的参数传递,称为位置传参。? (2)函数在调用时,将列表中的每个元素都转换为位置实参传入。列表前加 * 。?? ? (3)函数关键字的调用,是关键字实参。 (4)在函数调用时,将字典中的键值对都转换为关键字实参传入,字典前加 ** 。 代码:
2、函数的形参(1)默认值形参
(2)个数可变的位置形参 与 个数可变的关键字形参
(3)函数的形参中加入 * 。(也叫命名关键字参数)
(4)函数定义时的形参的顺序问题 ?参数组合
五种参数类型可以组合使用,但是有一定的顺序,顺序是:位置参数、默认值参数、可变参数、命
名关键字参数、可变关键字参数。
三、函数的返回值(return)1、函数返回多个值时,结果为元组例子:将一个列表中的数分为奇数和偶数
结果: 判断布尔值:
2、函数的返回值总结:(1)如果函数没有返回值【函数执行完毕之后,不需要给调用出提供数据】 ?return可以省略不写 (2)函数的返回值,如果是1个,直接返回类型 (3)函数的返回值,如果是多个,返回的结果是元组 3、函数在定义时,是否需要返回值,视情况而定。
四、函数变量的作用域(局部变量、全局变量)1、局部变量
定义函数内的变量叫做局部变量,在函数外是不能访问局部变量
2、全局变量
全局变量
-------
定义在
.py
文件的变量
在函数内是可以访问全局变量
全局变量不能直接在函数内部进行操作,如果需要在函数内部操作全局变量,需要调用
global
关键
字
(
但是不建议在函数里面操作全局变量
)
五、递归函数
在函数的内部,去调用自己
条件: 函数自己要调用自己 ;递归一定要有结束条件。
1、什么是递归函数: 如果在一个函数的函数体内调用了这个函数本身,该函数就称为递归函数。 2、递归的组成部分: 递归调用与递归终止的条件 3、递归的调用过程: 每递归调用一次函数,都会在栈内存分配一个栈帧 每执行完一次函数,都会释放相应空间 4、递归的优缺点: 优点:思路和代码简单 缺点:占用内存多,效率低下 使用递归来计算阶乘:
使用递归来计算斐波那契数列:
总结图:?注:图片来自于哔哩哔哩@Python_子木 以上就是python函数的主要内容了,感谢观看,阿哩嘎豆!!OVO!! ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 21:43:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |