fbpx

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

Contents

從基本概念和底層原理帶你入門 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 資深網路 DevOps 工程師 | “麥兜搞IT” ( 更多講師主講課程介紹 )

Peng Xiao 是一名網路和軟體 DevOps 工程師。

他在 IT/網路行業擁有超過 10 年的經驗,過去 12 年曾在 Cisco Systems、Nerdalize、KPN、ING 工作。

擅長Python編程(10年以上經驗)、網路技術尤其是 L3 路由協議、分佈式系統、資料庫等。他也喜歡開源技術,作為 GitHub 用戶加入了一些開源小組並做出了一些貢獻 給他們。

他是一名 scrum master,並擁有 Cisco Service Provider CCIE 認證。

他現在在荷蘭工作和生活。

他有個中文網站 “麥兜搞IT”


免費參加課程

Sponsored by Udemy

也許你會有興趣

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

發表迴響

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

Powered by WordPress.com.

Up ↑

%d