今日大纲:1.函数基本类型;2.局部变量;3.全局变量;4.地址引用;5.匿名函数;6.递归函数
一:函数基本类型
1.1无参数,无返回值;无参数,有返回值;有参数,无返回值;有参数,有返回值
二:局部变量
2.1定义:在函数内部定义的变量,作用域仅仅局限于函数内部
2.2不同的函数可以定义相同的局部变量,但是各用各的,互不干扰
2.3作用:为了临时的保存数据,需要在函数中定义来进行存储
三:全局变量
3.1定义:定义在函数外部的变量,每个函数都可直接访问
3.2用法:可以直接访问,当有局部变量与全局变量为相同名字时,先调用局部变量。
3.3修改全局变量:如需修改全局变量,先判断全局变量是否为可变与不可变类型,为可变类型直接修改,否则需添加global关键字
四:引用
4.1定义:在python中,值是靠引用来传递的,可以用id()查看一个对象的引用是否相同,id是值保存在内存中那块内存地址的标识
五:匿名函数
5.1python中使用lambal关键字创建匿名函数,所谓匿名就是这个函数没有名字不要def关键字创建的标准的函数
5.2:格式:lambal 参数1,参数2:执行代码语句
5.3:匿名函数冒号后面的表达式有且只有一个,注意是表达式,而不是语句
5.4:匿名函数自带return,而这个return的结果就是表达式计算后的结果
5.5:缺点:lambal只能是个表达式,不是一个代码块,lambal的设计就是为了满足简单函数场景,仅能封装有限的逻辑,复杂逻辑必选使用def来处理
六:递归函数
6.1什么是递归函数?如果在一个函数内部不调用其他的函数,而是自己本身的话,这个函数就是递归函数
6.2:递归函数满足的条件:1.自己调自己 2.需有出口明确的结束条件
6.3:优点:逻辑简单,定义简单
6.4:缺点:容易导致栈溢出,内存资源紧张,甚至内存泄漏