一、函数的返回值
函数返回值的作用:
在程序开发中,有时候会希望一个函数执行结束后,告诉调用者一个结果,一遍调用者针对具体的结果做后续的处理。
返回值含义:
它是函数完成工作后,最后给调用者的一个结果。
函数返回结果的方式:
在函数中使用return关键字可以返回结果。
怎样获得返回结果:
调用函数一方,可以使用变量来接收函数的返回结果
注意:return表示返回,后续的代码都不会被执行
代码体验:
def sum_num2(num1, num2):
\"\"\"对两个数字的求和\"\"\"
result = num1 + num2
# 可以使用返回值,告诉调用函数一方计算的结果
return result
# 可以使用变量来接收函数执行的返回结果
sum_result = sum_num2(30, 20)
print(\"计算结果%d\" % sum_result)
执行结果:
计算结果50
如何理解return后续的代码都不会被执行?
利用PyCharm就可以很直观的看出,首先我们把光标放在上述代码中的result = num1 + num2之后按下回车键,光标的位置自然而然的到下一行这时候有缩进四格表示后面的代码可以执行到,我们再把光标重新移步到return result的后面按住回车键后光标位置自动到下一行但是这时候并没有空四格而是顶格,表示这一行输入的代码就不属于函数内部了,也就是return之后的代码不会被执行到。
如果强行在return之后写代码会PyCharm有提示如下图:
num= 1000这段代码啊不会被到达,因为函数执行到return 就会返回到调用函数的位置,在return下方的的代码都不会被执行
二、函数的嵌套调用
函数嵌套调用含义:
一个函数里面又调用了另外一个函数,这就是函数嵌套调用
如果函数test2中调用了另外一个函数test1
执行步骤:
那么执行到调用函数test1函数时,辉县吧函数test1中的任务都执行完才会回到tezt2中调用函数test1位置,继续执行后续的代码
代码体验:没有嵌套之前的2个函数
def test1():
print(\"*\" * 10)
print(\'test1\')
def test2():
print(\"-\" * 10)
print(\'test2\')
test1()
test2()
执行结果:
代码体验:函数的嵌套调用
def test1():
print(\"*\" * 10)
print(\'test1\')
def test2():
print(\"-\" * 10)
print(\'test2\')
# 函数的嵌套调用
test1()
print(\"+\" * 10)
test2()
执行结果:
下面用一张执行线路图再结合文字说明来解释一下函数嵌套调用的具体步骤:
步骤:我们都知道代码是自上而下执行的,首先执行第一行代码告诉解释器这是一个函数test1,那么不用管继续向下执行,又碰到第6行的第二个函数test2,也不用管继续向下执行,好了到了第15行调用函数test()这一行代码,那么根据函数的调用步骤,调转到第6行去执行test2函数里面的代码,输出第7行第8行代码,继续向下执行,到了第11行调用函数test1,那么跳到函数test1定义的位置执行函数test1里面的代码,执行完test1函数里的第3行代码后再调到函数test2里面调用函数test1的位置继续向下执行到第12行代码,执行完第12行代码后整个函数test2执行结束,执行结束后直接跳转到test2函数调用的位置,继续向下行走发现没有其他代码了程序终止。
文章借鉴来源:www.wakey.com.cn/document-column-python.html