Python中的lru_cache+genarator

from functools import lru_cache
import time


@lru_cache(maxsize=128)
def fib(n: int):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    return fib(n-1) + fib(n - 2)


def run():
    for i in range(499):
        yield fib(i)


def main():
    with open("./fib.txt", "w") as f:
        for j in run():
            # time.sleep(0.25)
            f.write(str(j)+"\n")


if __name__ == '__main__':
    main()

发布了140 篇原创文章 · 获赞 53 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44291044/article/details/105151455