6、返回值
函数可以没有返回值,这时候你调用它只会执行函数内部的语句。这个函数是没有内涵的。它的返回值相当于None。
一般来说,函数都需要指定一个返回值,那么你的fn()就等价于这个返回值。
- 通过return执行返回值
- return后面可以是任意对象
In [1]: def fn():
...: return 'hello boy'
...:
...: print(fn())
...:
...:
hello boy
注意:
- fn和fn()是不同的,前者是对象,后者是调用函数
- 调用函数只能在函数定义之后
- 如果a=fn,那么a()可以调用函数
- return是函数的终结者,后面的代码将不会执行
7、说明文档
编写函数时,一般都要有文档字符串,来对函数进行说明。使用help函数,可以查看此说明。
In [2]: help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
def hi(name)->int:
'''
输入一个姓名,返回他的年龄
name:人名
'''
help(hi)
'''
out:
Help on function hi in module __main__:
hi(name) -> int
输入一个姓名,返回他的年龄
name:人名
'''
8、作用域
作用域就是变量生效的一个区域,包括全局作用域和函数作用域。
8.1 全局作用域
- 在程序执行时创建,执行结束后销毁
- 所有函数以外的区域
- 全局作用域中定义的变量都是全局变量,可以在程序任意位置访问
8.2 函数作用域
- 在函数调用时创建,调用结束后销毁
- 每调用一次函数,产生一个新的作用域
- 函数作用域中定义的变量,都是局部变量,只能在函数内部被访问
8.3 global的使用
可以把局部变量变成全局变量,以后再详细介绍。
9、命名空间
命名空间里存放了当前作用域的变量以及对应的值,以字典的形式存放。
| 实际上,字典里面放的就是当前作用域里面所有的指针,作为键,以及指针所指的对象,作为值。并且这个值是可以用字典来修改的。 |
10、递归函数
递归函数是将一个问题分解为一个个重复的小问题,直到问题无法分解。
- 基线条件 判断是否递归
- 递归条件 继续递归
可以用于求幂、阶乘、判断回文等等,就是自己调用自己,可以用于死循环。
本文介绍了Python函数的使用,包括返回值的设定,通过`return`返回任意对象;强调了函数调用的正确方式。讲解了函数的说明文档,利用`help`查看。深入探讨了作用域的概念,如全局作用域和函数作用域,以及`global`关键字的应用。此外,还提及了命名空间的存储形式和递归函数的基本原理及其在解决问题时的应用。

被折叠的 条评论
为什么被折叠?



