• 今日66折
  • 天天BUY

Python非同步設計:使用Asyncio

Using Asyncio in Python

  • 定價:480
  • 優惠價:79379
  • 優惠期限:2020年10月28日止
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

理解Python非同步設計特性

  如果你是被asyncio的複雜給耽誤了的Python開發者之一,是時候另眼相看了。Asyncio複雜的原因在於,它試圖同時解決框架設計者與直接使用的開發者,在並行網路程式設計方面的問題。直接使用的開發者只需要在乎asyncio API中一小部份的特性,只不過正確地找出這些特性需要些技巧,而這正是這本實用書的著力之處。

  Python開發老手Caleb Hattingh將帶你認識asyncio的基礎-足以開始寫個基於事件的簡單程式。從中你可以瞭解到,相較於先佔式多工(執行緒),asyncio為何是更安全的選擇,以及面對同時間數以萬計的socket連線時,API如何簡單地提供支援。

  ‧asyncio與執行緒在並行網路設計方面的重要比較
  ‧整體瞭解一下asyncio,有個快速起步會用來探討基於事件的程式設計中,底層的迴圈機制
  ‧認識asyncio特性中,針對直接使用開發者與框架設計者的不同特性
  ‧理解asyncio新的async/await語法,以及協程、Task、Future API
  ‧對於一些asyncio相容的第三方程式庫,提供詳細的案例研究(附程式碼)

名人推薦

  「非同步是程式寫作者手中極具威力的工具之一,然而新手難以掌握。這本小書揭開了Python非同步程式設計的神秘色彩,教你撰寫出能多工的程式碼。」 -Charles Giver 資料科學家,摩根大通
 

作者介紹

作者簡介

Caleb Hattingh


  有20年以上的程式設計經驗,擅長Python,對寫程式充滿熱情,他寫過的軟體包括了化學工程、客戶關係管理(CRM)軟體、飯店產業、GPS追蹤、自然語言處理等各式專案。他擁有化學工程碩士學位。
 

目錄

第一章 簡介Asyncio
ThreadBots餐廳
閉幕語
Asyncio想解決的問題?

第二章 Thread的真相
執行緒的優點
執行緒的缺點
案例研究:機器人與餐具

第三章 盤點Asyncio
快速起步
Asyncio之塔
協程
事件迴圈
Task與Future
非同步情境管理器:async with
非同步迭代器:async for
更簡單的非同步產生器函式
非同步包含式
適當地啟動與關機

第四章 20 個沒用過的Asyncio 程式庫(不過⋯哦,別擔心)
Stream(標準程式庫)
Twisted
Janus 佇列
aiohttp
ØMQ(ZeroMQ)
asyncpq 與Sanic
其他程式庫與資源

第五章 想法總結

附錄A Python 非同步支援簡史
附錄B 補充資料
 



  Python 3.4導入了asyncio程式庫,而Python 3.5提供async與await關鍵字,讓這個程式庫用來更為愉悅,這些新特性可以進行所謂的非同步程式設計。

  我會用Asyncio來代表這些新特性,Python社群對這些新特性一直抱著謹慎的態度;社群中有些人認為它們複雜而難以理解,不單是初學者有這樣的觀點:Python社群的貢獻者中有些人也立場明確地表示,他們對Python中Asyncio API的複雜性有疑慮,而社群中的教育工作者也擔心,不知道該怎麼樣才能教好Asyncio。

  對於Python有個幾年經驗的人們,之前都用過執行緒,就算你沒用過,應該也遇過阻斷吧!例如,如果使用過request程式庫撰寫程式的話,一定注意過程式在進行request.get(url)時會暫停一陣子;這就是阻斷行為。

  對於只執行一次的作業,這沒什麼問題;然而,若要同時取得一萬個URL的資料,使用request就會有問題。大規模的並行是使用Asyncio的重要原因之一,不過Asyncio另一個重大的吸引力是,優於先佔式執行緒的安全性:使用Asyncio,比較能避開競速(race condition)方面的臭蟲。

  本書的目的是讓你對這些新特性有個基本認識,知道為何要導入這些特性,以及如何在自身專案中使用這些特性。
 
 

詳細資料

  • ISBN:9789865025915
  • 規格:平裝 / 168頁 / 18.5 x 23 x 1 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣

最近瀏覽商品

 

相關活動

  • 哪種語言和我最速配?尋找最佳夥伴--程式語言展,5折起
 

購物說明

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則 

  • 國際趨勢書展
  • 知遠聯合社方展
  • 大是文化全書系

訂閱電子報

想獲得最新商品資訊,請訂閱免費電子報