中文課程 – Python 3 非同步程式設計簡單入門

從基本概念和底層原理帶你入門 Python 3 非同步程式設計( Asynchronous Programming )

從這 37 分鐘的課程,你會學到

  • 瞭解非同步程式設計的基本概念
  • 關於併發,並行,同步,非同步等基本概念
  • 如何實現協程,事件驅動
  • asyncio 的基本語法

要求

  • 已掌握 Python3 基本語法的 python 開發者
  • 基本的程序執行緒( thread)、process 概念

課程說明

python 由於 GIL(全域性鎖)的存在,不能發揮多核的優勢,其效能一直飽受詬病。然而在 IO 密集型的網路程式設計裡,非同步處理比同步處理能提升成百上千倍的效率,彌補了python 效能方面的短板,如最新的微服務框架 japronto, resquests per second 可達百萬級。

python還有一個優勢是庫(第三方庫)極為豐富,運用十分方便。asyncio是 python3.4 版本引入到標準庫,python3.5 又加入了async/await特性。

以下PEP是本課程的參考資料:

  • PEP 255 — Simple Generators
  • PEP 342 — Coroutines via Enhanced Generators
  • PEP 380 — Syntax for Delegating to a Subgenerator
  • PEP 492 — Coroutines with async and await syntax
  • PEP 525 — Asynchronous Generators

從這些 PEPs 中可以看出 Python 生成器 / 協程的發展歷程:先是 PEP 255 引入了簡單的生成器;接著 PEP 342 賦予了生成器 send() 方法,使其可以傳遞資料,協程也就有了實際意義;接下來,PEP 380 增加了 yield from 語法,簡化了呼叫子生成器的語法;然後,PEP 492 將協程和生成器區分開,使得其更不易被用錯;最後,PEP 525 提供了非同步生成器,使得編寫非同步的資料產生器得到簡化。

本課程就是從最基本的 yield 語法開始,讓大家瞭解協程和非同步背後實現的機理,然後再講解 asyncio 的基本的語法,從而讓大家對非同步和 asyncio 有深入的理解。

目標受眾

  • 想了解 python3 非同步程式設計 Asynchronous Programming
  • 想了解 asyncio 的基本使用

講師簡介

Peng Xiao 慕課精英講師,Network DevOps Engineer,前思科系統的網路和軟體工程師 ( 更多講師主講課程介紹 )

目前在一家海外創業公司負責網路運維監控工作,前Cisco高階網路開發工程師。常用網名“麥兜搞IT”

有超過8年的Python程式設計經驗,是《Python3面向物件程式設計》第一版的中文譯者之一。擁有超過6年的網路軟體開發經驗,主要方向為SDN。對於網路技術,特別是三層路由技術有著深入的研究。

是GitHub上smartbgp組的建立者和維護者,另外也參與了其它幾個開源軟體

我擁有CCIE(#39317)認證和Scrum Master認證。


免費參加課程

Sponsored by Udemy

也許你會有興趣

 歡迎使用 App / Email | Telegram 訂閱 網站更新

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

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: