函数的返回值
返回值就是函数执⾏以后返回的结果
函数最初的用途是封装好功能,让我们随时可以使用。
函数的返回值用函数的调用fun()来接受这个返回值的结果
任何类型的值都可以作为函数的返回值来返回,返回值甚至可以是函数
如下图,fun() = fun2,即fun1的返回值是fun2
fun1()()的返回值是fun2(),即fun2的返回值
return的特性
在函数中,return后面的代码都不会执行,return一旦执行,函数自动结束
文档字符串
**help()**是Python中内置函数,通过help()函数可以查询Python中函数的⽤法
在定义函数时,可以在函数内部编写⽂档字符串
⽂档字符串就是运用于对函数或者面向对象做功能,参数等的说明帮助文档
函数的作用域
作用域指的是变量生效的区域
在python中一共有两种作用域
1.全局作用域
在程序执行时创建,在程序结束时销毁
所有函数以外的区域都是全局作用域
在全局作用域中定义的变量都是全局变量,全局变量可以在程序的任意位置惊险访问
2.函数作用域
函数作用域在函数调用时创建,调用结束时销毁
函数每调用一次都会产生一个新的函数作用域
在函数作用域中定义的变量,都是局部变量,只能在函数内部进行访问
局部变量可以通过global声明变成全局变量
命名空间
命名空间实际上就是一个字典,是一个专门用来存储变量的字典
locals()⽤来获取当前作⽤域的命名空间
如果在全局作⽤域中调⽤locals()则获取全局命名空间,如果在函数作⽤域中 调⽤locals()则获取函数命名空间
返回值是⼀个字典
递归函数
递归是解决问题的⼀种⽅式,它的整体思想,是将⼀个⼤问题分解为⼀个个 的⼩问题,直到问题⽆法分解时,在去解决问题
如下图,进行10的阶乘运算
递归是一个自己调用自己的函数
如下,这是一个自己调用自己的函数,死循环不会结束,称为无穷递归,会报错
递归式函数有2个条件
- 基线条件 问题可以被分解为最⼩问题,当满⾜基线条件时,递归就不执⾏了
- 当满足基线条件时我们才会去解决问题
- 递归条件 可以将问题继续分解的条件
回文字符串
回文字符串就是正反顺序相同的字符串。如abcdedcba
作业