Python 黑科技

編程語言 Python 科技 IT技術Java交流 2017-06-05

講述

可迭代對象

迭代器

生成器

前兩者通常不會區分的很明顯,只是用法上有區別。

生成器在某種概念下可以看做是特殊的迭代器,它比迭代實現上更加簡潔。

Python 黑科技

可迭代對象

Python 黑科技

迭代器

Python 黑科技

Python 黑科技

Python 黑科技

Python 黑科技

Python 黑科技

實際上執行時

Python 黑科技

Python 黑科技

生成器

生成器和裝飾器是python中最吸引人的兩個黑科技

生成器雖沒有裝飾器那麼常用

但在某些針對的情境下十分有效

Python 黑科技

Python 黑科技

Python 黑科技

Python 黑科技

Python 黑科技

Python 黑科技

裝飾器

Python 黑科技

雖然這樣寫是滿足了需求,但是改動了原有的代碼,如果有其他的函數也需要插入日誌的話,就需要改寫所有的函數,不能複用代碼

可以這麼寫

Python 黑科技

Python 黑科技

Python 黑科技

Python 黑科技

這樣看起來就很簡潔,而且代碼很容易複用。可以看成是一種智能的高級封裝。

裝飾器也是可以帶參數的,這位裝飾器提供了更大的靈活性。

Python 黑科技

Python 黑科技

Python 黑科技

學習過程中遇到什麼問題或者想獲取學習資源的話,歡迎加入學習交流群

626062078,我們一起學Python!

相關推薦

推薦中...