1. 程式人生 > >Python之路,Day4

Python之路,Day4

算法 div 查找 tor 無限 style 表達式 一個 list

本節大綱

  1. 叠代器&生成器
  2. 裝飾器
    1. 基本裝飾器
    2. 多參數裝飾器
  3. 遞歸
  4. 算法基礎:二分查找、二維數組轉換
  5. 正則表達式
  6. 常用模塊學習
  7. 作業:計算器開發
    1. 實現加減乘除及拓號優先級解析
    2. 用戶輸入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等類似公式後,必須自己解析裏面的(),+,-,*,/符號和公式,運算後得出結果,結果必須與真實的計算器所得出的結果一致

叠代器&生成器

叠代器

叠代器是訪問集合元素的一種方式。叠代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。叠代器只能往前不會後退,不過這也沒什麽,因為人們很少在叠代途中往後退。另外,叠代器的一大優點是不要求事先準備好整個叠代過程中所有的元素。叠代器僅僅在叠代到某個元素時才計算該元素,而在這之前或之後,元素可以不存在或者被銷毀。這個特點使得它特別適合用於遍歷一些巨大的或是無限的集合,比如幾個G的文件

特點:

  1. 訪問者不需要關心叠代器內部的結構,僅需通過next()方法不斷去取下一個內容
  2. 不能隨機訪問集合中的某個值 ,只能從頭到尾依次訪問
  3. 訪問到一半時不能往回退
  4. 便於循環比較大的數據集合,節省內存

生成一個叠代器:

技術分享
 1 >>> a = iter([1,2,3,4,5])
 2 >>> a
 3 <list_iterator object at 0x101402630>
 4 >>> a.__next__()
 5 >>> a.__next__()
 6 >>> a.__next__()
 7
>>> a.__next__() 8 >>> a.__next__() 9 >>> a.__next__() 10 Traceback (most recent call last): 11 File "<stdin>", line 1, in <module> 12 StopIteration
View Code

Python之路,Day4