Contents
變數、函數和函數式程式設計、閉包 ( Closures )、裝飾器 ( Decorators )、模組和套件
從這 46 小時的課程,你會學到
- 深入了解變數( variables )、記憶體( memory )、命名空間( namespaces )和範籌( scopes )
- 深入研究 Python 的記憶體管理和優化
- 深入理解和使用 Python 的數值資料類型(布林、整數、浮點數、小數點、分數、複數)
- 高級布林( Boolean )表達式和運算符
- 可呼叫函數的進階用法,包括函數、 lambdas 和閉包( closures )
- 函數式程式設計技術,如 map 、 reduce、filter 和 partials
- 創建進階的裝飾器,包括參數化裝飾器、類( class )裝飾器和裝飾器類( classes )
- 進階裝飾器應用程 式,如記憶( memorization )和單一派遣通用函數(single dispatch generic functions )
- 使用和理解 Python 的複雜模組和套件系統( package system )
- 慣用 Python 和最佳實踐
- 理解 Python 的編譯時間和運行時間,以及它如何影響你的程式碼
- 避免常見的陷阱
要求
- Python 程式設計的基本知識(變數、條件語句、迴圈、函數、列表、元組、字典、類)。
- 你需要 Python 3.6 或更高版本,以及選擇的開發環境(命令行、PyCharm、Jupyter等)
課程說明
你好!
這是一系列課程的第 1 部分,旨在深入探討 Python 3 的內部機制和更複雜的方面。
這不是初學者課程!
如果你已經使用 Python 編寫了一週或幾個月的程式碼,那麼在學習本系列之前,你將應該會繼續寫更多 Python。
另一方面,如果你已經學習或使用 Python 一段時間,有問自己以下問題:
- 我想知道這是如何工作的?
- 有沒有另一種更 pythonic 的方式來做到這一點?
- 什麼是關閉? 這和 lambda 一樣嗎?
- 我知道如何使用別人寫的裝飾器,但它是如何工作的呢? 我如何編寫自己的?
- 為什麼有些布林表示式( boolean expressions )不返回 boolean 值? 我怎樣才能利用它來發揮我的優勢?
- Python 中的輸入機制如何工作,為什麼會出現副作用?
- 和類似類型的問題…
那麼本課程適合你。
為了充分利用本課程,你應該準備嘗試在我寫程式給你看之前先暫停視訊自己寫寫看! 在概念/理論視訊中坐著聽,但在寫程式影片中真正融會貫通!
請確保你查看了本課程的先決條件(如下)- 儘管我在課程開始時簡要介紹了基本概念,但這些概念在學習本課程前你應該已經非常熟悉。
在本系列課程中,我將使你對 Python 語言和標準 library 有更基礎、更深入的了解。
Python 被稱為“已內建電池”的語言是有充分理由的 – Python 基礎中有大量功能有待探索和研究。
所以本課程不是要解釋我最喜歡的第 3 方 libraries – 這是關於 Python 作為一種語言和標準 library。
特別是本課程基於規範的 CPython。 你還需要 Jupyter 筆記本來查看可下載的帶有完整註釋的 Python 筆記本。
它是關於幫助你探索 Python 並回答你在越來越多地使用該語言進行開發時會問自己的問題。
在 Python 3:深入探討(第 1 部分)中,我們將更深入地研究:
- 變數 – 特別是它們只是指向記憶體中物件的符號(references 引用)
- 命名空間和範籌( scopes )
- Python 的數值類型
- Python boolean 類型 – 比您想像的要簡單的 or 更近於一個 statement!
- 運行時( run-time )與編譯時( compile-time )以及它們如何影響函數原始設定值、裝飾器、輸入模組等
- 一般函數(包括 lambda)
- 函數式程式編輯技術(例如 map、reduce、filter、zip 等)
- 閉包( Closures )
- 裝飾器( Decorators )
- 輸入( Imports )、模組( modules )和套裝( packages )
- 元組( Tuples )作為資料結構
- 被命名的元組( Tuples )
參加課程先決條件 :
- 變數和簡單類型,例如 str 、 bool 、 int 和 float 類型
- for 和 while 迴圈
- if…else…的陳述( statements )
- 使用簡單的列表、元組、字典和集合
- 定義函數(使用 def 語句)
- 使用 class 關鍵字和 _init_ 方法編寫簡單的 classes,編寫實例方法,使用 @property 裝飾器創建基本屬性
- 從標準程式庫( library )輸入模組(例如輸入數學)
你還應該:
- 在你的系統上安裝了 Python 3.6(或更高版本)
- 能夠使用以下任一方法編寫和運行 Python 程式:
- 命令行,或
- 最喜歡的 IDE(例如 PyCharm),
- 安裝了 Jupyter Notebooks(我在整個課程中使用它,以便為你提供完整註釋的 Python 程式碼樣本)
目標受眾
- 任何對 Python 有基本了解的人,希望技術能更上一層樓並深入理解 Python 語言及其資料結構。
- 任何準備參加深入的 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 愛好者,原因很多,我也想和你分享這種熱情!
🙌 如何有效率地管理 ChatGPT 輸出與整理自己的 ChatGPT 提示( prompts )使用情境?LN+ for Web 已經針對 ChatGPT 的整合做最佳化
🙌 讓 Notion AI 成為你線上學習的得力助手,詳細操作請參考 – 使用 Notion AI 功能來為 udemy 的課程做摘要總結
- 點選這個✨優惠連結 課程特價 | Udemy 永久擁有課程 NT370 起( 請登入 Udemy|按過“優惠連結”後到”報名參加課程“連結網頁做更新 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

也許你會有興趣
- Python 3 : 深度研究 (第 2 部分: Iteration, Generators)
- Python 3: 深度研究(第3部分: Hash Maps)
- Python 程式設計學習地圖
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
你必須登入才能發表留言。