Contents
課程簡介
從基本概念和底層原理帶您入門Python 3非同步程式設計
從這 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 慕課精英講師,Cisco資深網路開發工程師
大家好,我是肖鵬。是一位網路開發工程師,目前在Cisco工作。常用網名“麦兜搞IT”有超過8年的 Python 程式設計經驗,是《Python3 面向物件程式設計》的中文譯者之一。擁有超過6年的網路軟體開發經驗,主要方向為SDN。對於網路技術,特別是三層路由技術有著深入的研究。是GitHub上smartbgp組的建立者和維護者,另外也參與了其它幾個開源軟體我擁有CCIE(#39317)認證和Scrum Master認證。
參加課程 [ 限時免費中 ]
1. 選購相關精選課程
- 中文課程 – Python 3 資料科學入門與實戰
- 中文課程 – 如何創建/發佈/維護/參與 Python Opensource Software
- 更多 Python 相關線上課程介紹
- ★想要加強英文能力嗎?– 練好英文是最大的學習槓桿
2. 請我們喝一杯咖啡!
也許你會有興趣
- 使用 e-mail 訂閱 Soft & Share 內容發布 – 透過 e-mail 提早收到 Soft & Share 發布的好康訊息!
- Soft & Share 特價課程與學習資訊分享 加入這個社團追蹤特價課程與學習資訊
- 追蹤這個 Twitter ,追蹤特價課程與學習資訊
你必須登入才能發表留言。