千家信息网

python函数的两种嵌套方法怎么使用

发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,本篇内容介绍了"python函数的两种嵌套方法怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2025年02月12日python函数的两种嵌套方法怎么使用

本篇内容介绍了"python函数的两种嵌套方法怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

交叉嵌套

交叉嵌套的方式是在本函数中调用同一级或上一级函数的嵌套方法:

def func(foo):    print(1)    foo()    print(3)    def a():    print(1)b = func(a)print(b)

输出的结果为:

1
1
3
None

首先,程序会将 Python 文件中顶格的代码运行。函数 func 和 a 都是先开辟内存空间存储起来,但不会被执行。当程序走到赋值操作时,会先执行等号右边的代码。函数 func 被调用,函数 a 作为参数被传到 func 中。func 函数被执行,顺序也是从上往下,先是把 1 打印出来,然后调用参数 foo。

需要注意的是,foo 是形参,实参是 a。调用 foo 在此时的意思是调用函数 a。函数 a 被调用,又打印出一个 1 来。函数 a 运行完毕,返回至函数 func,继续执行下面的代码,打印出 3 来。最后,函数默认返回 None,赋值给 b。程序运行结束。

再看下面的代码:

def func():    print(1)    print("我太难了")    print(2)def foo(b):    print(3)    ss = b()    print(ss)    print(4)def f(a,b):    a(b)f(foo,func)

输出的结果为:

3
1
我太难了
2
None
4

跟上面一样,先将函数全都加载到新开辟的内存空间中,但不执行。到最后 f 函数被调用,foo 和 func 两个函数作为参数被传到函数 f 中。在函数 f 中,foo 函数被调用,参数为 func 函数。进入到 foo 函数,先打印 3。到赋值语句,先执行等号右边的代码,函数 func 被调用。

在函数 func 中,打印三个内容 1、我太难了 和 2。函数默认返回值为 None,被赋值给 ss。打印 ss 就是打印 None。最后打印 4,然后返回到函数 f,再返回到全局空间。执行结束。

回环函数

回环函数就是在函数中调用下级函数的嵌套方法:

def func(a,b):    def foo(b,a):        print(b,a)    return foo(a,b) #先执行函数调用a = func(4,7)print(a)

输出的结果为:

4 7
None

函数依然先存储在新开辟的空间中不会被调用。运行到赋值语句时,还是先执行等号右边的代码,将两个数字传到函数 func中。在函数内部,依然是先开辟空间把函数 foo 放进去。运行到 return 不会马上终止函数,而是先运行 return 后面的代码。foo 函数被调用,传进去的值是 4 和 7,然后打印出来。

需要注意的是,函数 foo 的形参与函数 func 的形参是相同的,不要给搞混了。日常写代码时不建议这样使用。打印出 4 和 7 之后,运行到函数最后一行,函数默认返回 None。然后再赋值给 a,打印出来。

"python函数的两种嵌套方法怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

函数 代码 运行 空间 方法 参数 输出 内容 右边 程序 等号 结果 两个 内存 回环 就是 更多 知识 语句 面的 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 浏览器下载服务器出现问题 城固一中开展网络安全宣传活动 数据库 清华大学出版社 郑州超级淘软件开发 常见数据库管理系统及供应商 服务器raid什么级别好 长沙民政学院软件开发专业怎么样 规模大的企业网络安全解决方案 首届国家网络安全宣传周启动时间 mc 炸服务器 梦幻西游黑龙江服务器虚拟主机 广州宇信易诚网络技术有限公司 r510服务器安装黑群晖 sql如何附加本地数据库 英雄联盟服务器域名 软件开发人员 招聘 王者荣耀陕西省服务器 务川市政府网络安全工作 数据库显示列唯一值 服务器端口监控 邮件传输服务器是什么意思 蚌埠法院招聘网络技术员 局域网内突然连不上数据库 数据库的酸性有 服务器统一安全管理 湖南一中网络技术有限公司 我与网络安全征文500字 武汉软件开发招聘网 服务器终端安全软件 ie局域网设置代理服务器网址
0