首页 > 解决方案 > 关于函数递归函数中的关键字参数

问题描述

当我在第 8 行调用 fibonacci(n - 1) 和 fibonacci(n - 1) 时,我不明白“内存”字典到底发生了什么。我的理解是,如果我在调用函数时没有指定关键字参数,它将采用空字典的默认值。但不知何故,它没有将内存设置为空字典,而是可以访问当前值。

提前致谢

def fibonacci(n, memory = {}):
    m = n - 1
    if m in memory:
        return memory[m]
    elif m <= 1:
        return 1
    else:
        memory[m] = fibonacci(n - 2) + fibonacci(n - 1)
        return memory[m]

标签: pythonfunctionrecursionkeyword-argument

解决方案


推荐阅读