您的位置:制图网首页 -> 新闻动态 -> 函数的调用【函数的调用可以嵌套吗】

热门排行

函数的调用【函数的调用可以嵌套吗】

2023/1/31 来自于:制图网 点击:82

一、函数的返回值

函数返回值的作用:

在程序开发中,有时候会希望一个函数执行结束后,告诉调用者一个结果,一遍调用者针对具体的结果做后续的处理。

返回值含义:

它是函数完成工作后,最后给调用者的一个结果。

函数返回结果的方式:

在函数中使用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函数调用的位置,继续向下行走发现没有其他代码了程序终止。

文章借鉴来源:http://www.wakey.com.cn/document-column-python.html

制图网(www.makepic.net),专业的logo免费设计在线生成网站,全自动智能化logo设计,商标设计,logo在线生成!

欢迎使用制图网制作属于您公司自己的logo,不仅专业而且经济实惠,全方位满足您公司品牌化、视觉化的需求。

输入激活码

只需简单一步,使用微信扫码(或长按识别二维码)并在任一小程序首页根据提示获取激活码! chatGPT中文网页版,无需注册,快来体验全网最火爆的人工智能应用!
刻字印章刻章子定刻光敏盖章印订制(淘宝商家)

输入激活码

只需简单一步,使用微信扫码(或长按识别二维码)并在任一小程序首页根据提示获取激活码! chatGPT中文网页版,无需注册,快来体验全网最火爆的人工智能应用!
刻字印章刻章子定刻光敏盖章印订制(淘宝商家)