函数
带参数的函数执行流程
保存函数的返回值
在本小节刚开始的时候,说过的“买烟”的例子中,最后儿子给你烟时,你一定是从儿子手中接过来 对么,程序也是如此,如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存
保存函数的返回值示例如下:
#定义函数
def add2num(a, b):
return a+b
#调用函数,顺便保存函数的返回值
result = add2num(100,98)
#因为result已经保存了add2num的返回值,所以接下来就可以使用了
print(result)
结果:
198
函数的嵌套调用
1 示例
def testB():
print('---- testB start----')
print('这里是testB函数执行的代码...(省略)...')
print('---- testB end----')
def testA():
print('---- testA start----')
testB()
print('---- testA end----')
testA()
结果:
---- testA start----
---- testB start----
这里是testB函数执行的代码...(省略)...
---- testB end----
---- testA end----
2. 小结
-
一个函数里面又调用了另外一个函数,这就是所谓的函数嵌套调用
局部变量&全局变量
-
如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次 函数A执行的位置
-
局部变量,就是在函数内部定义的变量
- 其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的
- 因为其作用范围只是在自己的函数内部,所以不同的函数可以定义相同名字的局部变量(打个比方,把你、我是当做成函数,把局部变量理解为每个人手里的手机,你可有个iPhone13,我当然也可以有个iPhone13, 互不相关)
- 局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储
-
全局变量,如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量, 这样的变量一般在函数外部定义
- 在函数外边定义的变量叫做
全局变量
- 全局变量能够在所有的函数中进行访问
- 在函数外边定义的变量叫做
函数返回多个值
0. 思考
思如果一个函数如些两个return (如下所示),程序如何执行?
def return_num():
return 1
return 2
result = return_num()
print(result) # 1
答:只执行了第一个return,原因是因为return可以退出当前函数,导致return下方的代码不执行。
1. 返回多个值
def return_num():
return 1, 2
result = return_num()
print(result) # (1, 2)
注意:
return a, b
写法,返回多个数据的时候,默认是元组类型。- return后面可以连接列表、元组或字典,以返回多个值。