python3

python3之閉包、裝飾器、生成器 閉包: 可以理解爲函數的一種使用方式。 具體的特性爲: 函數中內嵌函數,把內嵌函數的執行結果作爲外層函數的返回值。 def count(start=0): counter = [start] def incr(): counter[0] += 1 return counter[0] return incr 裝飾器: 裝飾器是在函數調用之上的修飾。 應用場景: 在多個函數需要進行同樣的操作時,在不改變源代碼的前提下,可以使用裝飾器 def set_color(func): def set_red(): return '\033[31;1m%s\033[0m' % func() return set_red @set_color def welcome(): return 'welcome to china' @set_color def say_hi(): return 'how are you?' if __name__ == '__main__': print(welcome()) print(say_hi()) 生成器: 一個函數中間的yield返回的中間值 yield返回執行結果並不中斷程序執行,return在返回執行結果的同時中斷程序執行 >>> def azj(): ... yield 'hello' ... yield 100 ... yield [10, 20] ... >>> a = azj() >>> for i in a: ... print(i) ... hello 100 [10, 20]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章