原创 Python7.1

filter Python內建的filter()函數用於過濾序列。 和map()類似,filter()也接收一個函數和一個序列。和map()不同的是,filter()把傳入的函數依次作用於每個元素,然後根據返回值是True還是False

原创 Python8.1

返回函數 高階函數除了可以接受函數作爲參數外,還可以把函數作爲結果值返回。 我們來實現一個可變參數的求和。通常情況下,求和的函數是這樣定義的: def calc_sum(*args): ax = 0 for n in a

原创 Python7.2

排序算法 排序也是在程序中經常用到的算法。無論使用冒泡排序還是快速排序,排序的核心是比較兩個元素的大小。如果是數字,我們可以直接比較,但如果是字符串或者兩個dict呢?直接比較數學上的大小是沒有意義的,因此,比較的過程必須通過函數抽象出來

原创 Python9.1

偏函數 Python的functools模塊提供了很多有用的功能,其中一個就是偏函數(Partial function)。要注意,這裏的偏函數和數學意義上的偏函數不一樣。 在介紹函數參數的時候,我們講到,通過設定參數的默認值,可以降低函

原创 Python5.2

高級特性 掌握了Python的數據類型、語句和函數,基本上就可以編寫出很多有用的程序了。 比如構造一個1, 3, 5, 7, …, 99的列表,可以通過循環實現: L = [] n = 1 while n <= 99: L.ap

原创 Python5.1

遞歸函數 在函數內部,可以調用其他函數。如果一個函數在內部調用自身本身,這個函數就是遞歸函數。 階乘n! = 1 x 2 x 3 x … x n,用函數fact(n)表示: fact(n) = n! = 1 x 2 x 3 x … x

原创 Python4.4

函數的參數 定義函數的時候,我們把參數的名字和位置確定下來,函數的接口定義就完成了。對於函數的調用者來說,只需要知道如何傳遞正確的參數,以及函數將返回什麼樣的值就夠了,函數內部的複雜邏輯被封裝了。 Python的函數定義非常簡單,但靈活度

原创 Python4.1

dict Python內置了字典: dict,全稱dictionary,在其他語言中也稱爲map,使用鍵-值(key-value)存儲,具有極快的查找速度。 假設要根據同學的名字查找對應的成績,如果用list實現,需要兩個list: n

原创 Python4.3

定義函數 在Python中,定義一個函數要使用def語句,依次寫出函數名、括號、括號中的參數和冒號:,然後,在縮進塊中編寫函數體,函數的返回值用return語句返回。 自定義一個求絕對值的my_abs函數: def my_abs(x):

原创 python4.2

函數 基本上所有的高級語言都支持函數,Python也不例外。Python不但能非常靈活地定義函數,而且本身內置了很多有用的函數,可以直接調用。 比如s = area_of_circle(x) 抽象 1 + 2 + 3 + … + 100

原创 Python3.3

循環 Python的循環有兩種,一種是for…in循環,依次把list或tuple中的每個元素迭代出來,比如: names=['Marry','Bob','Tom'] for name in names: #注意冒號: print

原创 Python3.1

使用list和tuple list Python內置的一種數據類型是列表:list。 list是一種有序的集合,可以隨時添加和刪除其中的元素。 比如,列出班裏所有同學的名字,就可以用一個list表示: >>> classmates=[

原创 Python1

Python教程 Python是一種相當高級的語言。 用Python可以做什麼?可以做日常任務,比如自動備份你的MP3;可以做網站,很多著名的網站包括YouTube就是Python寫的;可以做網絡遊戲的後臺,很多在線遊戲的後臺都是Pyt

原创 Python3.2

條件判斷 計算機之所以能做很多自動化的任務,因爲它可以自己做條件判斷。 比如,輸入用戶年齡,根據年齡打印不同的內容,在Python程序中,用if語句實現,如果if判斷是True,就執行if後的內容,如果判斷是False,不要執行if的內