Python學習課程--------課時一

之前斷斷續(xù)續(xù)的學習過一些python的基本語法,但是不夠牢固。為了之后學習python爬蟲和機器學習所以重新過一遍python的語法和基本知識。這里只做一些重點的記錄,不做全面的基礎知識點記錄。

學習Python推薦一個網址,講得很詳細?廖雪峰得官方網站


生成器:通過列表生成式,我們可以直接創(chuàng)建一個列表。但是,受到內存限制,列表容量肯定是有限的。而且,創(chuàng)建一個包含100萬個元素的列表,不僅占用很大的存儲空間,如果我們僅僅需要訪問前面幾個元素,那后面絕大多數(shù)元素占用的空間都白白浪費了。

所以,如果列表元素可以按照某種算法推算出來,那我們是否可以在循環(huán)的過程中不斷推算出后續(xù)的元素呢?這樣就不必創(chuàng)建完整的list,從而節(jié)省大量的空間。在Python中,這種一邊循環(huán)一邊計算的機制,稱為生成器:generator。

定義generator的另一種方法。如果一個函數(shù)定義中包含yield關鍵字,那么這個函數(shù)就不再是一個普通函數(shù),而是一個generator


迭代器

凡是可作用于for循環(huán)的對象都是Iterable類型;

凡是可作用于next()函數(shù)的對象都是Iterator類型,它們表示一個惰性計算的序列;

集合數(shù)據類型如list、dict、str等是Iterable但不是Iterator,不過可以通過iter()函數(shù)獲得一個Iterator對象。

Python的for循環(huán)本質上就是通過不斷調用next()函數(shù)實現(xiàn)的,例如:


高階函數(shù):

變量可以指向函數(shù),函數(shù)的參數(shù)能接收變量,那么一個函數(shù)就可以接收另一個函數(shù)作為參數(shù),這種函數(shù)就稱之為高階函數(shù)。

map() reduce() filter()

返回函數(shù):

閉包問題:

匿名函數(shù) lambda:

裝飾器:

偏函數(shù):

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 切片 取一個list(列表)或tuple(元組)的部分元素是非常常見的操作Python提供了切片(Slice)操作...
    upupSue閱讀 618評論 0 1
  • 1.1==,is的使用 ·is是比較兩個引用是否指向了同一個對象(引用比較)。 ·==是比較兩個對象是否相等。 1...
    TENG書閱讀 791評論 0 0
  • PYTHON-進階-ITERTOOLS模塊小結轉自wklken:http://wklken.me/posts/20...
    C_Y_閱讀 1,177評論 0 2
  • python學習筆記 聲明:學習筆記主要是根據廖雪峰官方網站python學習學習的,另外根據自己平時的積累進行修正...
    renyangfar閱讀 3,250評論 0 10
  • 上路,再出發(fā)…… 臨在為本 什么是“臨在”我無法表述清楚。 四天三夜中,在和“臨在”的每一次親密接觸時,頭腦都會稍...
    楊瑛_8w9閱讀 427評論 0 4

友情鏈接更多精彩內容