gpt4 book ai didi

python - 什么时候在 Python 中使用嵌套函数比较好?

转载 作者:太空狗 更新时间:2023-10-29 20:20:21 25 4
gpt4 key购买 nike

我指的不是闭包,其中外部函数返回内部函数,或者特别是内存。有几个例子我想写一个递归函数,也许用内存,在外部函数中初始化一个字典或其他一些数据结构似乎更简单,然后有一个递归辅助函数写入和访问字典和外部函数的参数。这就是我的意思——

def foo(arr, l):
cache = {}
result = []

def recursive_foo_helper(i, j, k):
# some code that depends on arr, l, i, j, k, cache, and result

for (x, y) in arr:
if recursive_foo_helper(x, y, k):
return result
return None

而不是像这样用一些超长的签名单独声明辅助函数,

recursive_foo_helper(arr, l, i, j, k, cache={}, result=[])

我读到过这样做是记忆化的标准做法,但我很好奇是否就仅对递归辅助函数执行此操作是否可以达成共识。

最佳答案

有很多很好的理由。就个人而言,我经常使用嵌套函数来保持 namespace 的清洁。它在对象方法中特别有用:

class Foo(object):
def bar(self):
def baz(val):
return val
return [ baz(i) for i in range(1,101) ]

如果我在 bar 之外声明 baz,我要么需要将其作为 Foo 的方法,要么将其暴露给整个包.

关于python - 什么时候在 Python 中使用嵌套函数比较好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17033821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com