fbpx

Python 3: 深度研究 (第 1 部分 – Functional )

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 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現

報名參加課程

Sponsored by Udemy


也許你會有興趣

不受 FB 演算法影響,歡迎透過 e-mail 訂閱網站更新

 

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: