原创 第三章(提煉)字典和集合(三)

一. 集合論 集合的本質是許多唯一對象的聚集,因此,集合可以用於去重: 集合中的元素必須是可散列的,set 類型本身是不可散列的,但是 frozenset 可以。除了保證唯一性,集合還實現了很多基礎的中綴運算符。給定兩個集合 a 和

原创 第三章(提煉)字典和集合(二)

一. 映射的彈性鍵查詢         某個鍵在映射裏不存在,我們也希望在通過這個鍵讀取值的時候能得到一個默認值。有兩個途徑能幫我們達到這個目的,一個是通過 defaultdict 這個類型而不是普通的 dict,另一個是給自己定義一個

原创 第二章(提煉) 序列構成的數組(四)

一. 用bisect來管理已排序的序列         bisect 模塊包含兩個主要函數,bisect 和 insort,兩個函數都利用二分查找算法來在有序序列中查找或插入元素。 1.1 用bisect來搜索 演示1  在有序序列中用

原创 第二章(提煉) 序列構成的數組(二)

元組除了用作“不可變的列表”,還可以用於記錄沒有字段名的記錄。 一. 元組不僅僅是不可變列表 1.1 元組和記錄         元組其實是對數據的記錄:元組中的每個元素都存放了記錄中的一個字段,外加這個字段的位置。正是這個位置信息給數據

原创 python實現協程(六)

        本節介紹asyncio剩餘的一些常用操作:事件循環實現無限循環任務,在事件循環中執行普通函數以及協程鎖。 一. 無限循環任務          事件循環的run_until_complete方法運行事件循環時,當其中的全部

原创 python處理併發導讀與目錄

        在閱讀Python處理併發的系列文章前,正確區分 進程/線程、並行/併發、阻塞/非阻塞、同步/異步 概念非常重要,是學習本部分內容的基礎,也是面試中經常會被問到的內容。 一. 概念區分 1.1 進程和線程        

原创 第十五章 測試(三)

使用Selenium進行端到端測試        Flask中的測試客戶端不能完全模擬運行中的應用所處的環境。例如:如果應用依賴在客戶端瀏覽器中運行的JS代碼的話,就不能使用Flask測試客戶端,因爲返回給測試的響應中的JS代碼不會執行。

原创 第十四章 應用編程接口(四)

一. 資源的序列化和反序列化準備        把內部格式轉換爲JSON格式的過程稱爲序列化,我們將資源序列化的函數定義在各模型類中,提供給客戶端的資源表示沒有必要與數據庫模型字段完全一致。返回的數據中除了自身描述,我們還添加了返回其它資

原创 《Flask Web開發》讀書筆記索引

完整代碼 注:本書沒有涉及太多原理性的內容,實踐性非常強,適合快速入門~ git clone [email protected]:MiaLi0521/FlaskyEasyDemo.git 目錄 第一章 安裝  https://blog.cs

原创 第十四章 應用編程接口(五)

一. 使用HTTPie測試WEB服務 在上一小節,我們使用了Postman測試WEB api,如果鍾愛於使用命令行測試,那麼也可以使用HTTPie。 1.假設服務運行在127.0.0.1:5000上,在另一個窗口可以使用如下方式發起get

原创 第十四章 應用編程接口(三)

       與普通WEB應用一樣,WEB服務也需要保護信息,確保未授權的用戶無法訪問。我們已經知道,REST式WEB服務的特徵是無狀態,即服務器在2次請求之間不能記住“客戶端”的任何信息。客戶端必須在發出的請求中包含所有必要信息,因此所

原创 第十四章 應用編程接口(二)

       使用Flask創建REST式WEB服務十分簡單。使用熟悉的route()裝飾器及其methods可選參數可以聲明服務及其所提供資源URL的路由。處理JSON數據同樣簡單,請求中的JSON數據可以使用request.get_j

原创 第十二章 關注者(四)

本節實現用戶評論功能 一. 評論在數據庫中的表示 評論包含正文、作者和時間戳;用戶和評論,文章和評論均爲一對多的關係,我們需要在多這一次側定義外鍵: class Comment(db.Model): __tablename__

原创 Flask知識點串燒(三)--- JInjia2模板

1. 模板簡介 把HTML代碼存儲在單獨的文件中,分離程序的業務邏輯和表現邏輯; 藉助模板引擎,我們可以在HTML文件中使用特殊的語法標記變量,這類包含固定內容和動態部分的可重用文件稱爲模板; Flask默認使用的模板引擎是Jinjia2

原创 Flask知識點串燒(六)--- Flask-Mail

        在WEB程序中發送電子郵件非常簡單,藉助擴展Flask-Mail或是第三方郵件服務,只需要幾行代碼就可以發送電子郵件;郵件僅包含幾個必要的字段: 發信方:Grey <[email protected]> 收信方:Zor