栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python课程DAY5

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python课程DAY5

复习


函数的基本类型

局部变量


name是个局部变量 是在函数内部定义的变量 作用域仅仅局限在函数内

如果在第二个函数中也定义一个name

调用


不同的函数可以定义相同的局部变量 但是作用各不相同 互不影响

局部变量的作用 为了临时的保存数据 需要在函数中定义来进行存储

全局变量


运行结果

在第二个函数中也可以引用


此处的pro即是一个全局变量 它的作用域范围为整个文件



当全局变量和局部变量出现重复定义时 程序会优先执行使用函数内部定义的变量 地头蛇

修改全局变量



发现pro并没有被修改

注意 这里在函数内部定义的相当于另一个局部变量 与外面的全局变量没有关系 故没有修改成功

若是真正想在函数内部对全局变量进行修改成功 必须使用global关键字进行声明

结果改变

引用


这说明是对同一个内存地址的引用

更改一下x的值


为什么会发生变化呢

输出一下a的值和x的值



可变类型


追加数据


打印一下内容


小结
1、在python中 万物皆对象 在函数调用的时候 实参传递的就是对象的引用
2、了解了原理之后 就可以更好的去把控 在函数内部的处理是否会影响到函数外部参数的变化
3、参数传递是通过对象引用来完成的。

匿名函数

匿名函数语法
lambda 参数1、参数2、参数3 表达式

特点
1、使用lambda关键字去创建函数
2、没有名字
3、匿名函数冒号后面的表达式有且只有一个 注意 是表达式 而不是语句
4、匿名函数自带return 而这个return的结果就是表达式计算后的结果

应用


lambda与三元运算

示例


也可以直接运用出结果

举例

lambda的缺点
只能是单个表达式 不是一个代码块 lambda的设计就是为了满足简单的函数场景 仅仅能封装有限的逻辑 复杂逻辑实现不了 必须使用def来实现

递归函数

例子

注意

利用循环实现阶乘


利用递归实现



递归函数调用过程

递归满足的条件
1、自己调用自己
2、必须有一个明确的结束条件
优点 逻辑简单、定义简单
缺点 容易导致栈溢出 内存资源紧张、甚至内存泄露

递归案例 模拟实现 树形结构的遍历


运行结果

递归函数优缺点


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266971.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号