1. 函数的返回值

返回值就是返回函数执行的结果,通过return来指定函数的返回值
举例
运行结果为6,没有指定返回值
python基础_ 函数返回值、文档字符串、函数作用域、递归

下图返回值指定
可以直接使用函数的返回值,另一个方式是通过一个变量来接收函数的返回值。
return后面可以跟任意的对象,甚至是一个函数,函数的话,return不加括号。
运行结果是: 123
python基础_ 函数返回值、文档字符串、函数作用域、递归
python基础_ 函数返回值、文档字符串、函数作用域、递归
在函数中,return后的代码都不会执行, return一旦执行,函数结束

python基础_ 函数返回值、文档字符串、函数作用域、递归

下列运行结果 是 : abc nonepython基础_ 函数返回值、文档字符串、函数作用域、递归

下图 break 退出了当前循环,运行结果是: 012 循环完毕
python基础_ 函数返回值、文档字符串、函数作用域、递归
用上了return ,下方函数直接结束, 运行结果 : 012

python基础_ 函数返回值、文档字符串、函数作用域、递归

三种区别 注意 continue的运行如下
运行结果是 :0124 执行完毕
python基础_ 函数返回值、文档字符串、函数作用域、递归
用了return后, 函数为所欲为,看下面代码
python基础_ 函数返回值、文档字符串、函数作用域、递归

总结函数 括号打印区别
python基础_ 函数返回值、文档字符串、函数作用域、递归

2. 文档字符串

函数 help() 是python的内置函数,即不想百度装逼的。
@可以查询python中函数的用法。

在定义函数的时候,可以在函数内部编写文档字符串,文档字符串就是函数的说明,
当我们编写了文档字符串时,就可以通过help()函数来产看函数的说明

语法:help(函数对象) #注意别加括号
file ,和 flush 是关键字传参
python基础_ 函数返回值、文档字符串、函数作用域、递归
python基础_ 函数返回值、文档字符串、函数作用域、递归

预见性结束偶
python基础_ 函数返回值、文档字符串、函数作用域、递归

3.函数的作用域(scope)

就是指 变量生效的区域
@@ 在python中函数有两种作用域:
内(函数作用域) :函数调用时创建,调用后销毁;每次调用后…

外(全局):所有函数以外的都属于全局,在程序任意位置可以被访问。

外部看不到了吧!!
python基础_ 函数返回值、文档字符串、函数作用域、递归
外部可见的区别哦
python基础_ 函数返回值、文档字符串、函数作用域、递归

总结 两种 作用域
python基础_ 函数返回值、文档字符串、函数作用域、递归
fn2下面 fn3
都能用
python基础_ 函数返回值、文档字符串、函数作用域、递归
内部函数功能可以调用全局,但是全局不能看里层的函数作用域
python基础_ 函数返回值、文档字符串、函数作用域、递归

**在函数内部修改全局变量,需要使用global关键字,来声明局部变量
**

运行结果内部外部都是 123
python基础_ 函数返回值、文档字符串、函数作用域、递归

4.命名空间

命名空间就是一个字典,是 一个专门用来保存变量的字典。

locals() 用来获取当前作用域的命名空间,返回一个字典。

python基础_ 函数返回值、文档字符串、函数作用域、递归

用关键字也可以哦
python基础_ 函数返回值、文档字符串、函数作用域、递归

骚操作 ,有强制报错都能运行,但是不建议这样做;
python基础_ 函数返回值、文档字符串、函数作用域、递归
运行结果如下
python基础_ 函数返回值、文档字符串、函数作用域、递归

函数内部没有定义所以只是{}空字典
python基础_ 函数返回值、文档字符串、函数作用域、递归
python基础_ 函数返回值、文档字符串、函数作用域、递归

**globals()**可以获取全局的命名空间,哪怕在函数中 也有效

#获取了外部的a=123 b=456
python基础_ 函数返回值、文档字符串、函数作用域、递归

5.递归函数

递归式的函数 简单理解就是自己引用自己
在函数中自己调用自己。
@@ 是解决问题的一种思想,和循环很像,整体上是将大问题分解为小问题,直到问题无法分解时,再去解决问题。

递归的两个条件:

  1. 基线条件:问题可以被分解为最小的问题,当满足基线条件时,递归就不再执行了。
  2. 递归条件: 将问题继续分解的条件。

python基础_ 函数返回值、文档字符串、函数作用域、递归

#面试 经常考

举例@ 尝试求10的阶乘(10!)
1!=1
2!=1*2
。。。。
10!=…910
python基础_ 函数返回值、文档字符串、函数作用域、递归

用循环才正规
python基础_ 函数返回值、文档字符串、函数作用域、递归

#定义一个函数来实现任意数的阶乘

python基础_ 函数返回值、文档字符串、函数作用域、递归
## 用递归的思想解决任意数阶乘问题

#10!=109!
#9!=9
8!
。。。
#1!=1
python基础_ 函数返回值、文档字符串、函数作用域、递归
python基础_ 函数返回值、文档字符串、函数作用域、递归

递归练习

  1. 定义一个函数,为任意数字做任意的幂运算
    python基础_ 函数返回值、文档字符串、函数作用域、递归

python基础_ 函数返回值、文档字符串、函数作用域、递归
python基础_ 函数返回值、文档字符串、函数作用域、递归

  1. 定义一个函数,用来检查任意一个字符串是否时回文字符串,如是返回True,不是返回False
    .回文 字符串,时从前往后念与从后往前念是一样的,例如 abcba

思路:
python基础_ 函数返回值、文档字符串、函数作用域、递归

python基础_ 函数返回值、文档字符串、函数作用域、递归

python基础_ 函数返回值、文档字符串、函数作用域、递归

总结

python基础_ 函数返回值、文档字符串、函数作用域、递归
python基础_ 函数返回值、文档字符串、函数作用域、递归

相关文章: