测试基础 Python 一个方法里面还定义一个方法是干嘛用的

狂天 · April 06, 2021 · Last by 随缘 replied at May 07, 2021 · 2231 hits


在力扣看题解时,看到这种写法:
一个方法下面还有一个方法

def XXX:
                def XXX:

问这个子方法叫作什么?就叫子方法吗?它是干嘛的?

共收到 4 条回复 时间 点赞
狂天 #1 · April 06, 2021 Author

搜 “子方法” 和 “子程序” 都没搜索到对应的内容,但我实践之后发现这种写法的作用:一个方法,写在另一个方法里面,跟自己单写是一样。都是可以被别的地方调用到自己这个方法,这种写法的好处是:一、编写方便,直接写到其他调用自己的方法里面直接调用就好;二、方便调用父方法的参数。大概这些。

闭包,可以使用外层函数接收的参数,Python 里面实现装饰器的基础,很多语言都支持这个写法。有时为了保证一个方法所实现功能的完整性,避免代码过于零散也可以这么写,实现多线程多进程的时候也可以直接定义一个内部函数传给 target,看起来会好看点

啥?def 里包含递归调用叫闭包 ?

百度 装饰器

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up