def createCounter():
def f():
n=0
while True:
n=n+1
yield n
sun = f()
def counter():
return next(sun)
return counter
創造生成器的方法里,為啥不能直接去調用f()呢,為什么要定義sun = f()
createCounter 返回的是 counter 這個函數,而此時 f() 並沒有執行並返回一個生成器對象。所以每次 createCounter() 都會得到一個 counter 函數,而執行 counter(),都會執行 f() 而生成一個新的生成器對象
變向的理解,s1 = f(), s2 = f(),但是s1 == s2 是false