Contents
序列( Sequences )、可迭代( Iterables )、迭代器( Iterators )、生成器( Generators )和背景管理器( Context Managers )
從這 36 小時的課程,你會學到
- 你將能夠利用本課程中的概念讓你的 Python 程式設計技能更上一層樓。
- 序列( Sequence )類型和序列協議
- 可迭代( Iterables )和可迭代協議
- 迭代器( Iterators )和迭代器協議
- 列表理解( List Comprehensions )及其與閉包( Closures )的關係
- 生成器( Generator )功能
- 生成器表達式
- 背景( Context )管理器
- 使用生成器函數創建背景管理
- 使用生成器作為協程( coroutines )
要求
- 這是一門相對高級的課程,因此你應該已經熟悉基本的 Python 概念,以及課程中先決條件中描述的一些深入的知識。 請務必檢查並確認!
- 你將需要 Python 3.6 或更高版本,以及你選擇的開發環境(命令行、PyCharm、Jupyter等)
課程說明
本課程詳細介紹了序列( Sequences )、可迭代( Iterables )、迭代器( Iterators )、生成器( Generators )和背景管理器( Context Managers )、理解( comprehensions )、基於生成器的協程( generator based coroutines )。
我將向你展示迭代如何在 Python 中工作 – 從序列協議到可迭代和迭代器協議,以及我們如何編寫自己的序列和可迭代數據類型。
我們將詳細介紹序列切片( sequence slicing )以及切片( slicing )與範圍( ranges )的關係。
我們也會詳細研究理解( comprehensions ),並且我將向你展示列表理解( List Comprehensions )實際上是閉包( Closures )並具有自己的範圍,以及為什麼微妙的錯誤有時會無預期地蔓延到列表理解( List Comprehensions )。
我們將深入研究 itertools 模組,並查看那裡可用的所有函數以及它們可有多大的用途(但被忽略的)。
我們還研究了生成器函數、它們與迭代器的關係,以及它們的 comprehension 對應物(生成器表示式)。
背景管理器是 Python 中經常被忽視的結構,也有詳細介紹。 在那裡,我們將學習如何創建和利用我們自己的背景管理器,並了解背景管理器和生成器函數之間的關係。
最後,我們將看看如何使用生成器來創建協程。
每個部分之後都有一個專案,旨在將你在整個課程中學到的知識付諸實踐。
本課程系列的重點是 Python 語言和標準 library.。 在標準 CPython 發行版中有大量的功能和需要理解的東西,所以我不涉及第 3 方 library – 這是對 Python 的深入研究,而不是對圍繞 Python 發展起來的許多非常有用的第 3 方 library 的探索 – 這些通常是足夠大的話題,足以以其發展整個課程! 事實上,的確有很多這類課程!
*****參加本課程的先決條件*****
請注意,這是一門相對高級的 Python 課程,需要對 Python 中的一些主題有深入的了解。
特別是你應該已經對以下主題有了深入的了解:
- 函數和函數參數
- 打包和解包迭代以及如何與函數參數一起使用(即使用*)
- 閉包( Closures )
- 裝飾 ( Decorators )
- 布林值真值( Boolean truth values )以及任何具有關聯的真值的物件
- 命名元組( tuples )
- zip、map、filter、sorted、reduce 函數
- lambda表達式
- 輸入模組和套件( packages)
你還應該具備以下主題的基本知識:
- 各種資料類型(數字、字串、列表、元組、字典、集等)
- for loops、while loops、break、continue、else 子句
- if 聲明
- try…except…else…finally…
- 有關如何創建和使用 classes(methods、properties)的基本知識 – 不要求懂 inheritance 或 meta classes 等進階的主題
- 了解如何在 classes 中使用某些特殊 methods(例如__init __、__ eq __、__ lt__等)
目標受眾
希望更深入理解序列、可迭代對象、迭代器、生成器和背景管理器的 Python 開發人員。
講師簡介
Fred Baptiste Professional Developer and Mathematician
嗨,我叫 Fred Baptiste。
我從數學博士開始了自己的職業生涯,並且在多種技術和語言方面進行了 25 年以上的專業程式設計,包括 Python、.Net(C# 和 VB)、Java、C ++ 和 JavaScript 等,以及資料庫 包括 MS SQL Server 和 Postgres 等關聯式 SQL 資料庫( relational SQL database )以及 MongoDB、Couchbase 和Neo4j 等非 SQL資料庫。
自 2011 年以來,我一直專注於 Python,主要用於 REST API 開發以及使用後端資料庫(如SQL Server、Postgres 和 MongoDB)進行資料管理和分析。
我花了很多時間和精力學習並深入了解 Python 並編寫了慣用的 Python,我想與大家分享一下。
我絕對是一個 Python 愛好者,原因很多,我也想和你分享這種熱情!
- 點選這個✨優惠連結( 特價 NT370 起)✨ 非 IT 認證的課程用 NT390 起的優惠連結 可能拿到更好的價格喔, 試試看! | Udemy 永久擁有課程 ( 在電腦瀏覽器登入,點選“優惠連結”後再回想要的課程介紹中點選“報名參加課程”即可取得 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

也許你會有興趣
- Python 程式設計語言學習地圖
- Python 3: 深度研究(第 1 部分: Functional )
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
發表迴響