【发布时间】:2020-04-27 16:04:05
【问题描述】:
有没有一种方法可以让函数记住其先前的输出并在下次调用该函数时使用该值?例如,假设有一个函数 runningTotal 带有一个参数 x,它在第一次调用 runningTotal 时返回 x,但之后的每次调用都返回 x + prevOutput。有没有办法在python中编写这样的函数?
我知道这可以通过在函数中使用全局变量或将以前的值保存到新变量来轻松实现,但如果可能的话,我想避免使用这些解决方案。我正在寻找替代解决方案的原因是因为这是我正在与其他人合作的程序中的一个功能,我希望避免创建比已经建立的更多的全局变量。
【问题讨论】:
-
是的:generators
-
从技术上讲,生成器不仅仅是记住之前的输出。它们保持整个函数状态;这样您就可以在后续调用中访问所有局部变量的值。
-
这是一个很模糊的问题,请说的更具体点,guidance
-
This question 包含其他方式(除了闭包)来模拟静态变量(附加到函数的变量,在函数调用之间保持其状态)。
标签: python python-3.x function