1. 程式人生 > >Python學習筆記——利用閉包寫遞增函式

Python學習筆記——利用閉包寫遞增函式

*前言:這篇算是一個總結筆記

利用閉包返回一個計數器函式,每次呼叫它返回遞增整數:

  • 建立生成器:
def createCounter():
    def f():
        x = 0
        while True:
            x += 1
            yield x
    it = f()

    def number():
        return next(it)
    return number

createA = createCounter()
print(createA())
  • 列表
    def createCounter():
    	f = [0]
    	def increase():
    		f[0] = f[0] + 1
    		return f[0]
    	return increase
    
    createA = createCounter()
    print(createA())
    print(createA())
    print(createA())