所屬網站分類: 資源下載 > python電子書 作者:熊貓燒香 鏈接:http://www.pythonheidong.com/blog/article/64/ 來源:python黑洞網,專註python資源,python教程,python技術! Head First 系列的書籍一直飽受贊譽,這本 ...
所屬網站分類: 資源下載 > python電子書
作者:熊貓燒香
鏈接:http://www.pythonheidong.com/blog/article/64/
來源:python黑洞網,專註python資源,python教程,python技術!
Head First 系列的書籍一直飽受贊譽,這本也不例外。Head First Python主要講述了Python 3的基礎語法知識以及如何使用Python快速地進行Web、手機上的開發。下麵是該書每章結束部分的知識摘要:
第一章 初始Python:人人都愛列表(Lists)
1. 從命令行或者IDLE里都可以運行Python 3;2. 標識符是指代數據對象的名稱,它本身並沒有“類型”,但是它所指代的數據對象擁有類型;
3. 內置函數print()可以在屏幕上顯示消息;
4. Python中的列表list是用中括弧包住的以逗號分隔的數據集合;
5. list和數組非常相似;
6. list既可以使用內置函數,也可以使用針對列表本身的函數;
7. list的大小按需自動伸縮。數據使用的所有記憶體都由Python管理;
8. len()內置函數用來計算數據對象的長度或是某個集合(如list)內條目的數量;
9. for迴圈可以幫助遍歷list,它用起來通常比等價的while迴圈更方便;
10. if...else...語句幫助在代碼中做出不同的選擇;
11. isinstance()內置函數可用來檢測標識符指代的數據對象是否為指定類型;
12. 使用def定義自定義函數。
第二章 分享代碼:函數模塊
1. 模塊是包含Python代碼的文本文件;2. 分發工具(distribution utilities)幫助您將模塊變為可共用的包;
3. setup.py程式提供了關於模塊的元數據,他可以用於生成,安裝和上傳分發包;
4. 使用import語句將模塊導入到其他程式中;
5. Python中每個模塊都提供了自己的命名空間。它在使用module.function()形式調用時用以限定模塊內的函數。
6. 使用形如from module import function的import語句可以將模塊內特定函數導入當前命名空間;
7. 使用#可以將一行代碼變為註釋或者為程式添加一條精短且在一行內的註釋;
8. 內置函數擁有自己的命名空間,叫做__builtins__,它會自動包含進每個Python程式中。
9. range()內置函數可以和for用在一起進行固定次數的遍歷;
10. 在print()內置函數結尾包含end=''可以關掉輸出時自動添加的換行符;
11. 如果為函數參數提供預設值,那麼它們就為成為可選參數。
第三章 文件和異常:處理錯誤
1. 使用open()內置函數打開磁碟文件並創建一個迭代器來每次從文件中讀取一行數據;2. readline()方法從一個打開的文件中讀取一行數據;
3. seek()方法可以將文件重新定位到開頭;
4. close()方法關閉上一次打開的文件;
5. split()方法將一個字元串分為許多份組成的列表;
6. Python中不可改變的常量list叫做tuple。一旦列表數據複製給一個tuple之後,tuple中的數據將不能再被改變。Tuple是不能變的(immutable);
7. 當數據與期望的格式有出入時,會產生ValueError;
8. 當數據沒法被正確訪問時(例如數據文件可能已經移動過或者重命名過),會產生IOError;
9. help()內置函數提供在IDLE shell中訪問Python文檔;
10. find()方法可以在一個字元串中查找特定子串;
11. not關鍵字用來否定一個條件;
12. try/except語句提供了異常處理機制,可以保護那些可能導致運行時錯誤的代碼段;
13. pass語句是Python中的空語句,它什麼都不做。
第四章 持久化:將數據存成文件
1. strip()方法移除字元串首尾空白字元;2. print()內置函數中的file參數可以控制data是讀入或是寫出;
3. 不管try/except語句中是否有異常發生,finally的代碼段總是會被執行;
4. 異常對象會傳入到except代碼段,並且可以使用as關鍵字將其賦值給一個標識符;
5. str()內置函數可以用來訪問任何數據對象的字元串表示,前提是該數據對象支持該轉換;
6. locals()內置函數返回當前作用範圍內的變數集合;
7. in操作符可用於測試成員包含關係;
8. "+"操作符應用於兩個字元串時會得到它們的串聯結果,而應用於數字時會得到它們的相加和;
9. with語句即使在異常發生的情況下,也會自動去關閉所有打開的文件。with語句同樣可以使用as關鍵字;
10. sys.stdout是Python中的標準輸出,它位於標準庫中的sys模塊;
11. 標準庫pickle模塊可以讓輕鬆高效地保存Python數據對象到磁碟和從磁碟恢復Python數據對象;
12. pickle.dump()函數將數據存檔;
13. pickle.load()函數從磁碟恢複數據。
第五章 理解數據:讓數據動起來
1. sort()方法原地排序列表;
2. sorted()內置函數通過複製排序的方式可以對大多數數據結構進行排序;
3. 傳入sort()或sorted的參數reverse=True可以將數據進行降序排序;
4. 形如下麵的代碼段:
new_l = []
for t in old_l:
new_l.append(len(t))
可以重寫為列表表達式形式:[len(t) for t in old_l]
5. 使用切片從list中獲取多個數據條目,如:my_lis[3:6]會從索引3的位置訪問到索引6的位置,不包含6。
6. 使用set()工廠方法創建一個集合
第六章 自定義數據對象:圍繞數據編碼
1. 使用dict()工廠函數或使用{}來創建一個空的dictionary;2. 訪問一個叫做person的dictionary中Name鍵所對應的值,可是使用熟悉的中括弧記法:person['Name'];
3. 同list和set類似,Python的dictionary數據結構也會隨著新元素的加入動態的增長;
4. 填充dictionary的方法有:new_d = {}或new_d = dict(),然後使用d['Name'] = 'Eric Idle';或者直接用一句話new_d = {'Name': 'Eric Idle'};
5. class關鍵字用來定義類;
6. 類中方法的定義與函數非常相像,都使用def關鍵字;
7. 類中屬性就如同對象實例內部的變數;
8. __init__()方法可以定義在類中用作實例化對象實例;
9. 類中定義的每個方法都必須提供self作為第一個參數;
10. 類中的每個屬性都必須使用self為首碼,以使得數據能與實例關聯在一起;
11. 既可以從頭開始創建類也可以從Python內置或自定義類中繼承;
12. 類可以被放入Python模塊並上傳到PyPI。
第7章 Web開發:信息彙總
1. MVC模式(Model-View-Controller)用一種可維護的方式幫助設計和構建一個Web應用;2. model存儲Web應用中的數據;
3. view顯示Web應用的用戶界面;
4. controller使用編程邏輯將所有部分連接在一起;
5. 標準庫string模塊中有一個類叫做Template,它支持簡單的字元串替換;
6. 標準庫http.server模塊可以用來在Python中創建一個簡單的Web伺服器;
7. 標準庫cgi模塊提供編寫CGI腳本的支持;
8. 標準庫glob模塊處理文件列表非常好用;
9. 在Linux和Mac OS X上為可執行文件執行chmod+x命令;
10. 標準庫cgitb模塊在激活時可以在瀏覽器中看到CGI的編碼錯誤;
11. 使用cgitb.enable()可以在CGI代碼中打開CGI跟蹤;
12. 使用cgi.FieldStorage()可以訪問發送到Web伺服器請求部分的數據。
第8章 移動應用開發:小型設備
1. json庫模塊可以將Python內置類型轉為JSON數據交換格式;2. 使用json.dumps()可以創建Python類型的字元串版本;
3. 使用json.loads()從JSON字元串中創建Python類型;
4. 使用JSON發佈數據需要制定Content-Type為application/json;
5. Python 2中的urllib和urllib2可以用與發送編碼後的數據給Web伺服器(使用urlencode和urlopen函數);
6. sys模塊提供了sys.stdin, sys.stdout和sys.stderr輸入流。
第9章 管理數據:處理輸入
1. 標準庫cgi模塊中的fieldStorage()方法可以訪問CGI腳本中發送給Web伺服器的數據;2. 標準庫os中包含的environ字典,提供了對環境變數設置的輕鬆訪問;
3. SQLLite資料庫系統在Python中作為sqlite3標準庫存在;
4. connect()方法建立與資料庫文件的連接;
5. cursor()方法通過一個已有連接與資料庫進行通信;
6. execute()方法通過一個已有游標向資料庫發送SQL查詢;
7. commit()方法對資料庫做出永久性的改變;
8. rollback()方法取消任何針對數據的待定改動;
9. close()方法會關閉資料庫的已有連接;
10. Python代碼中的"?"占位符可以參數化SQL語句。
第10章 擴展Web應用:變得真實
1. 每個App Engine Web應用都必須有一個叫做app.yaml的配置文件;2. 使用GAE啟動器啟動、停止、監控、測試、上傳以及部署Web應用;
3. App Engine的模板技術基於Django項目;
4. App Engine也可以使用Django表單驗證框架;
5. 使用self.response對象構造一個GAE Web應答;
6. 使用self.request對象在GAE Web應用中訪問表單數據;
7. 當應答GET請求時,可以子啊get()方法中實現需要的功能;
8. 當應答POST請求時,在post()方法中實現需要的功能;
9. 使用put()方法將數據存儲到App Engine datastore中。
第11章 處理複雜數據
1. input()內置函數提示並接受來自用戶的輸入;2. 如果發現在使用的是Python2,可以使用原生的_input()函數來取代input()函數;
3. 使用Python內置的列表、集合及字典構建複雜數據結構;
4. 標準庫中的time模塊,有大量函數可以用來轉換不同的時間格式。