標籤:list 情境 cut 概念 環境 實現原理 理解 asyncio 源碼
第1章 課程簡介
介紹如何配置系統的開發環境以及如何加入github私人倉庫擷取最新源碼。
1-1 導學
1-2 開發環境配置
1-3 資源擷取方式
第2章 python中一切皆對象
本章節首先對比靜態語言以及動態語言,然後介紹 python 中最底層也是物件導向最重要的幾個概念-object、type和class之間的關係,以此來引出在python如何做到一切皆對象、隨後列舉python中的常見對象。
2-1 python中一切皆對象
2-2 type、object和class之間的關係
2-3 python中的內建類型
2-4 本章小結
第3章 魔法函數
本章將會介紹python語言簡介文法背後的基石-魔法函數,會通過例子來示範魔法函數對python的影響、最後整體呈現python中的魔法函數來對python做一個概覽。
3-1 什麼是魔法函數
3-2 python資料模型對python的影響
3-3 python魔法函數一覽
3-4 len函數的特殊性
3-5 本章小結
第4章 深入類和對象
本章節是python物件導向的進階知識,通過本章的學習會掌握 python 鴨子類型以及鴨子類型對 python 的影響,隨後講解 python 中的抽象基類的運用、python 的 mro 屬性尋找演算法和 super 函數、類變數和物件變數以及資料封裝、本章節會講解對象的自省機制能讓大家對對象內部有更進一步的瞭解、最後是上下文管理協議...
4-1 鴨子類型和多態
4-2 抽象基類(abc模組) - 1
4-3 抽象基類(abc模組) - 2
4-4 isinstance和type的區別
4-5 類變數和執行個體變數
4-6 類和執行個體屬性的尋找順序—mro尋找
4-7 類方法、靜態方法和執行個體方法
4-8 資料封裝和私人屬性
4-9 python對象的自省機制
4-10 super真的是調用父類嗎?
4-11 mixin繼承案例-django rest framework
4-12 python中的with語句
4-13 contextlib簡化上下文管理器
4-14 本章小結
第5章 自訂序列類
本章節在講解 python 的序列協議後進一步講解 python 中序列的類型以及序列協議中的魔法函數,之後實現了自己的可以切片的序列、在本章中我們也會接觸 bisect 和列表推導式、產生器運算式和字典推導式等,經過本章的學習之後大家會知道如何去定義可以像list一樣使用方便的類以及明白 django 中的 queryset 的核心...
5-1 python中的序列分類
5-2 python中序列類型的abc繼承關係
5-3 list中extend方法區別
5-4 實現可切片的對象
5-5 bisect維護已排序序列
5-6 什麼時候我們不該使用列表
5-7 列表推導式、產生器運算式、字典推導式
5-8 本章小結
第6章 深入python的set和dict
因為 dict 的高效能,dict 在 python 內部被大量應用。本章節我們會首先通過例子示範dict 和 list 之間的效能差異,以及講解 dict 高效能背後的原理,我們也將接觸到散列表以及可散列類型,最後我們我們會知道 set 和 frozenset 的區別。...
6-1 dict的abc繼承關係
6-2 dict的常用方法
6-3 dict的子類
6-4 set和frozenset
6-5 dict和set的實現原理
6-6 本章小結
第7章 對象引用、可變性和記憶體回收
本章節是偏理論的章節,卻是我們進一步理解 pytho n以及排查各種隱含的 bug 最重要的章節,本章的對象引用、可變性和記憶體回收會讓我們對 python 的變數本質有更進一步的加深,本章節會讓我們在編碼的過程中盡量避免各種坑以及出錯後有排錯的經驗。...
7-1 python中的變數是什麼
7-2 ==和is的區別
7-3 del語句和記憶體回收
7-4 一個經典的參數錯誤
7-5 本章小結
第8章 元類編程
元類在 python 進階工程師面試中會被經常問到、元類作為 python 中一個進階特性,熟練使用元類能不僅讓我們寫出更加優雅和可控性更好的代碼還能進一步加深我們對python 的理解、本章節我們將會理解更多的 python 物件導向的進階特性比如property 以及屬性描述符、__getattr__和__getattribute__等等,這些讓我們可...
8-1 property動態屬性
8-2 __getattr__、__getattribute__魔法函數
8-3 屬性描述符和屬性尋找過程
8-4 __new__和__init__的區別
8-5 自訂元類
8-6 通過元類實現orm-1
8-7 通過元類實現orm-2
8-8 本章小結
第9章 迭代器和產生器
深刻理解產生器是理解協程的基礎、迭代器和產生器作為 python 難以理解的功能,很多人對其區別以及使用都是模稜兩可,本章節我們會全面理解迭代器協議以及產生器和迭代器之間的關係,我們會重點講解產生器的原理,讓我們更清楚我們在什麼時候應該使用產生器,本章節我會通過幾個例子加深大家對產生器的理解和使用。...
9-1 python中的迭代協議
9-2 什麼是迭代器和可迭代對象
9-3 產生器函數的使用
9-4 python是如何?產生器的
9-5 產生器在UserList中的應用
9-6 產生器如何讀取大檔案
9-7 本章小結
第10章 python socket編程
本章節我會從 http、socket、tcp 協議開始講起,通過 socket 方式實現用戶端和服務端讓大家名明白聊天類軟體的核心、要想深刻理解 web 編程、我們必須知道 socket 編程,本章節我們將通過多線程+ socket 的方式實現支援並發的服務端、最後通過 socket 類比 http 的請求來實現為後續的非同步 IO 打下並發的基...
10-1 弄懂 HTTP、Socket、TCP 這幾個概念
10-2 socket 和 server 實現通訊
10-3 socket 實現聊天和多使用者串連
10-4 socket 類比 http請求
10-5 本章小結
第11章 多線程、多進程和線程池編程
多線程、多進程編程一直是面試中被問到的高頻問題,本章節我們將從 GIL 開始講解多線程以及多進程的應用情境、之後詳細的介紹多線程的編碼、線程間通訊以及線程的同步- Lock\Rlock\Condition,通過對 condition 的源碼分析加深大家對條件變數的理解,接著通過線程池 ThreadPoolExecutor 的使用和源碼分析加深大家對...
11-1 python 中的 GIL
11-2 多線程編程 - threading
11-3 線程間通訊 - 共用變數和 Queue
11-4 線程同步 - Lock、RLock
11-5 線程同步 - condition 使用以及源碼分析
11-6 線程同步 - Semaphore 使用以及源碼分析
11-7 ThreadPoolExecutor線程池
11-8 ThreadPoolExecutor源碼分析
11-9 多線程和多進程對比
11-10 multiprocessing 多進程編程
11-11 處理序間通訊 - Queue、Pipe,Manager
11-12 本章小結
第12章 協程和非同步io
本章節是一個過渡章節,也是從產生器過渡到協程的最重要的章節,本章節我們將從阻塞和非阻塞等概念開始一直到引出多線程和多進程編程在並發編程中的不足、IO多工,然後我們會通過事件迴圈+回調的方式完成高並發的請求,之後我們會講解回調之痛以及產生器進階中的 send、close 和 yield from 等功能,最後通過這...
12-1 並發、並行、同步、非同步、阻塞、非阻塞
12-2 IO 多工 (select、poll 和 epoll)
12-3 select+回調+事件迴圈擷取html-1
12-4 select+回調+事件迴圈擷取html-2
12-5 回調之痛
12-6 協程是什麼
12-7 產生器進階-send、close和throw方法
12-8 產生器進階-yield from-1
12-9 產生器進階-yield from-2
12-10 async和await
12-11 產生器實現協程
12-12 本章小節
第13章 asyncio並發編程
asyncio 作為 python 未來最有野心也是最有前景的模組,是我們學習 python 高並發編程的必學模組。有了12章的基礎,我們直接使用 asyncio 來進行並發編程就會變得容易理解,我們從 asyncio 的準系統開始講解、如何將任務提交到asyncio、如何將 ThreadPoolExecutor 和 asyncio 整合,明白 asyncio 內部是如...
13-1 事件迴圈-1
13-2 事件迴圈-2
13-3 task取消和子協程調用原理
13-4 call_soon、call_at、call_later、call_soon_threadsafe
13-5 ThreadPollExecutor 和 asycio 完成阻塞 IO 請求
13-6 asyncio 類比 http 請求
13-7 future 和 task
13-8 asyncio同步和通訊
13-9 aiohttp實現高並發爬蟲 - 1
13-10 aiohttp實現高並發爬蟲 - 2
13-11 aiohttp實現高並發爬蟲 - 3
13-12 本章小節
第14章 課程總結
本章節我們會對課程的內容做一個整體的總結,加深大家對所學知識點的整體理解。
14-1 課程總結
:百度網盤下載
Python進階編程和非同步IO並發編程