中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >
Python高效編程——基于Rust語言

包郵 Python高效編程——基于Rust語言

出版社:清華大學出版社出版時間:2023-03-01
開本: 其他 頁數: 310
中 圖 價:¥80.9(6.8折) 定價  ¥119.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

Python高效編程——基于Rust語言 版權信息

Python高效編程——基于Rust語言 本書特色

Rust是一門令人興奮的新語言。它為開發人員提供了沒有垃圾收集機制的內存安全,從而帶來了快速的運行和低內存占用。但是,用Rust重寫一切可能是昂貴和有風險的,因為Rust中可能沒有對要解決的問題的包支持。這就是Python綁定和pip的用武之地。本書將使開發人員能夠用Rust編寫可以使用pip安裝的模塊,這樣就能夠在需要的時候注入Rust,而不需要承擔重寫整個系統的風險和工作量。這種方法使開發人員能夠在Python項目中嘗試和使用Rust。

Python高效編程——基于Rust語言 內容簡介

《Python高效編程——基于Rust語言》詳細闡述了基于Rust語言的Python高效編程,主要包括從Python的角度認識Rust、使用Rust構建代碼、理解并發性、在Python中構建pip模塊、為pip模塊創建Rust接口、在Rust中使用Python對象、在Rust中使用Python模塊、在Rust中構建端到端Python模塊、構建Python Flask應用程序、將Rust注入Python Flask應用程序、集成Rust的**實踐等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考手冊。

Python高效編程——基于Rust語言 目錄

第1篇 了解Rust 第1章 從Python的角度認識Rust 3 1.1 技術要求 3 1.2 了解Python和Rust之間的區別 4 1.2.1 結合使用Python與Rust的原因 4 1.2.2 在Rust中傳遞字符串 7 1.2.3 在Rust中調整浮點數和整數的大小 9 1.2.4 在Rust的向量和數組中管理數據 11 1.2.5 用哈希映射取代字典 13 1.2.6 Rust中的錯誤處理 16 1.3 了解變量所有權 19 1.3.1 復制 20 1.3.2 移動 20 1.3.3 不可變借用 21 1.3.4 可變借用 23 1.4 跟蹤作用域和生命周期 23 1.5 構建結構體而不是對象 27 1.6 使用宏而不是裝飾器進行元編程 31 1.7 小結 34 1.8 問題 34 1.9 答案 35 1.10 延伸閱讀 35 第2章 使用Rust構建代碼 37 2.1 技術要求 37 2.2 用crate和Cargo代替pip管理代碼 38 2.3 在多個文件和模塊上構建代碼 45 2.4 構建模塊接口 49 2.4.1 開發一個簡單的股票交易程序 51 2.4.2 寫代碼時編寫文檔的好處 57 2.5 與環境交互 58 2.6 小結 60 2.7 問題 61 2.8 答案 61 2.9 延伸閱讀 62 第3章 理解并發性 63 3.1 技術要求 63 3.2 并發性介紹 63 3.2.1 線程 64 3.2.2 進程 65 3.3 使用線程的基本異步編程 67 3.3.1 在Python中使用線程 68 3.3.2 在Rust中使用線程 69 3.4 運行多個進程 74 3.4.1 在Python中使用多進程池 74 3.4.2 在Rust中使用多線程池 78 3.4.3 在Rust中使用多進程池 81 3.5 安全地自定義線程和進程 85 3.5.1 阿姆達爾定律 85 3.5.2 死鎖 86 3.5.3 競爭條件 88 3.6 小結 88 3.7 問題 89 3.8 答案 89 3.9 延伸閱讀 90 第2篇 融合Rust和Python 第4章 在Python中構建pip模塊 95 4.1 技術要求 95 4.2 為Python pip模塊配置設置工具 96 4.2.1 創建GitHub存儲庫 96 4.2.2 定義基本參數 99 4.2.3 定義自述文件 100 4.2.4 定義基本模塊 101 4.3 在pip模塊中打包Python代碼 102 4.3.1 構建斐波那契計算代碼 103 4.3.2 創建命令行接口 105 4.3.3 構建單元測試 107 4.4 配置持續集成 113 4.4.1 手動部署到PyPI 113 4.4.2 管理依賴項 115 4.4.3 為Python設置類型檢查 116 4.4.4 使用GitHub Actions設置和運行測試及類型檢查 117 4.4.5 為pip包創建自動版本控制 121 4.4.6 使用GitHub Actions部署到PyPI 124 4.5 小結 126 4.6 問題 127 4.7 答案 128 4.8 延伸閱讀 128 第5章 為pip模塊創建Rust接口 129 5.1 技術要求 129 5.2 使用pip打包Rust代碼 130 5.2.1 定義gitignore和Cargo 130 5.2.2 配置Python設置過程 132 5.2.3 安裝Rust庫 134 5.3 使用PyO3 crate構建Rust接口 135 5.3.1 構建計算斐波那契數列的Rust代碼 136 5.3.2 創建命令行工具 138 5.3.3 創建適配器 140 5.3.4 使用單例設計模式構建適配器接口 142 5.3.5 在Python控制臺中測試適配器接口 146 5.4 為Rust包構建測試 148 5.5 比較Python、Rust和Numba的速度 151 5.6 小結 153 5.7 問題 154 5.8 答案 154 5.9 延伸閱讀 155 第6章 在Rust中使用Python對象 157 6.1 技術要求 157 6.2 將復雜的Python對象傳遞到Rust中 157 6.2.1 更新setup.py文件以支持.yml加載 158 6.2.2 定義.yml加載命令 159 6.2.3 處理來自Python字典的數據 160 6.2.4 從配置文件中提取數據 164 6.2.5 將Python字典返回到Python系統 165 6.3 檢查和使用自定義Python對象 167 6.3.1 為Rust接口創建一個對象 167 6.3.2 在Rust中獲取Python GIL 168 6.3.3 向新創建的PyDict結構體添加數據 170 6.3.4 設置自定義對象的特性 172 6.4 在Rust中構建自定義Python對象 173 6.4.1 定義具有所需特性的Python類 174 6.4.2 定義類靜態方法處理輸入 174 6.4.3 定義類構造函數 175 6.4.4 包裝并測試模塊 176 6.5 小結 179 6.6 問題 180 6.7 答案 180 6.8 延伸閱讀 181 第7章 在Rust中使用Python模塊 183 7.1 技術要求 183 7.2 認識NumPy 183 7.2.1 在NumPy中執行向量相加操作 184 7.2.2 在純Python中執行向量相加操作 185 7.2.3 在Rust中使用NumPy執行向量相加操作 186 7.3 在NumPy中構建模型 190 7.3.1 定義模型 190 7.3.2 構建一個執行模型的Python對象 192 7.4 在Rust中使用NumPy和其他Python模塊 195 7.5 在Rust中重建NumPy模型 198 7.5.1 構建get_weight_matrix和invert_get_weight_matrix函數 200 7.5.2 構建get_parameters、get_times和get_input_vector函數 201 7.5.3 構建calculate_parameters和calculate_times函數 202 7.5.4 將計算函數添加到Python綁定 203 7.5.5 將NumPy依賴項添加到setup.py文件 204 7.5.6 構建Python接口 204 7.6 小結 205 7.7 問題 206 7.8 答案 206 7.9 延伸閱讀 207 第8章 在Rust中構建端到端Python模塊 209 8.1 技術要求 209 8.2 分解一個災難建模問題 209 8.3 將端到端解決方案構建為一個包 214 8.3.1 構建災難足跡合并流程 215 8.3.2 構建災難脆弱性合并流程 217 8.3.3 在Rust中構建Python接口 221 8.3.4 在Python中構建接口 223 8.3.5 構建包安裝說明 223 8.4 使用和測試包 225 8.4.1 使用Pandas構建Python構造模型 226 8.4.2 構建隨機事件ID生成器函數 227 8.4.3 為Python和Rust實現計時 228 8.5 小結 230 8.6 延伸閱讀 230 第3篇 將Rust注入Web應用程序 第9章 構建Python Flask應用程序 233 9.1 技術要求 233 9.2 構建一個基本的Flask應用程序 234 9.2.1 為應用程序構建一個入口點 235 9.2.2 構建斐波那契數計算模塊 235 9.2.3 為應用程序構建Docker鏡像 237 9.2.4 構建NGINX服務 239 9.2.5 連接并運行NGINX服務 241 9.3 定義數據訪問層 243 9.3.1 在docker-compose中定義PostgreSQL數據庫 244 9.3.2 構建配置加載系統 245 9.3.3 構建數據訪問層 247 9.3.4 搭建應用程序數據庫遷移系統 249 9.3.5 建立數據庫模型 252 9.3.6 將數據庫訪問層應用于fib計算視圖 253 9.4 構建消息總線 255 9.4.1 為Flask構建一個Celery代理 256 9.4.2 為Celery構建一個斐波那契計算任務 258 9.4.3 用Celery更新計算視圖 258 9.4.4 在Docker中定義Celery服務 259 9.5 小結 262 9.6 問題 263 9.7 答案 263 9.8 延伸閱讀 264 第10章 將Rust注入Python Flask應用程序 265 10.1 技術要求 265 10.2 將Rust融合到Flask和Celery中 266 10.2.1 定義對Rust斐波那契數計算包的依賴 266 10.2.2 用Rust構建計算模型 266 10.2.3 使用Rust創建計算視圖 269 10.2.4 將Rust插入Celery任務中 270 10.3 使用Rust部署Flask和Celery 271 10.4 使用私有GitHub存儲庫進行部署 273 10.4.1 構建一個協調整個過程的Bash腳本 275 10.4.2 在Dockerfile中重新配置Rust斐波那契數列計算包的安裝 275 10.5 將Rust與數據訪問相結合 277 10.5.1 設置數據庫克隆包 277 10.5.2 設置diesel環境 279 10.5.3 自動生成和配置數據庫模型和模式 280 10.5.4 在Rust中定義數據庫連接 282 10.5.5 創建一個獲取并返回所有斐波那契記錄的Rust函數 282 10.6 在Flask中部署Rust nightly包 285 10.7 小結 286 10.8 問題 286 10.9 答案 287 10.10 延伸閱讀 287 第11章 集成Rust的*佳實踐 289 11.1 技術要求 289 11.2 通過將數據傳入和傳出Rust來保持Rust實現的簡單性 290 11.2.1 構建一個Python腳本來制定用于計算的數字的格式 290 11.2.2 構建一個接受數字進行計算并返回結果的Rust文件 291 11.2.3 構建一個接受計算出的數字并將其打印出來的Python腳本 292 11.3 通過對象給接口一種原生的感覺 294 11.4 使用trait而不是對象 298 11.4.1 定義trait 300 11.4.2 通過trait定義結構體的行為 301 11.4.3 通過函數傳遞trait 303 11.4.4 存儲具有共同trait的結構體 305 11.4.5 在main.rs文件中運行程序 305 11.5 通過Rayon保持數據并行的簡單性 308 11.6 小結 310 11.7 延伸閱讀 310 ·XIV· Python高效編程—基于Rust語言 ·XV· 目 錄
展開全部

Python高效編程——基于Rust語言 作者簡介

麥克斯韋爾·弗立頓是一名軟件工程師,為開源的財務損失建模基金會(financial loss modeling foundation)OasisLMF工作。2011年,Maxwell取得了英國林肯大學的護理學理學士學位。在醫院急診科工作12小時的同時,Maxwell還獲得了英國開放大學的物理學學位,然后又邁向了另一個里程碑,獲得了倫敦大學醫學院的物理學和工程學研究生文憑。他曾參與過許多項目,如為德國政府提供醫療模擬軟件,并在倫敦帝國學院指導計算醫學學生。他有在金融科技領域工作的經驗,并曾經為Monolith AI公司服務過。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 拖鞋定制厂家-品牌拖鞋代加工厂-振扬实业中国高端拖鞋大型制造商 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 别墅图纸超市|别墅设计图纸|农村房屋设计图|农村自建房|别墅设计图纸及效果图大全 | 辊道窑炉,辊道窑炉厂家-山东艾希尔 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 南京试剂|化学试剂|分析试剂|实验试剂|cas号查询-专业60年试剂销售企业 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 上海租奔驰_上海租商务车_上海租车网-矢昂汽车服务公司 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 噪声治理公司-噪音治理专业隔音降噪公司 | pH污水传感器电极,溶解氧电极传感器-上海科蓝仪表科技有限公司 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 电机保护器-电动机综合保护器-上海硕吉电器有限公司 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 安徽净化工程设计_无尘净化车间工程_合肥净化实验室_安徽创世环境科技有限公司 | 老房子翻新装修,旧房墙面翻新,房屋防水补漏,厨房卫生间改造,室内装潢装修公司 - 一修房屋快修官网 | 铆钉机|旋铆机|东莞旋铆机厂家|鸿佰专业生产气压/油压/自动铆钉机 | 迪威娱乐|迪威娱乐客服|18183620002 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 首页-瓜尔胶系列-化工单体系列-油田压裂助剂-瓜尔胶厂家-山东广浦生物科技有限公司 | 全自动变压器变比组别测试仪-手持式直流电阻测试仪-上海来扬电气 | 头条搜索极速版下载安装免费新版,头条搜索极速版邀请码怎么填写? - 欧远全 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 作文导航网_作文之家_满分作文_优秀作文_作文大全_作文素材_最新作文分享发布平台 | 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 无刷电机_直流无刷电机_行星减速机-佛山市藤尺机电设备有限公司 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 耐热钢-耐磨钢-山东聚金合金钢铸造有限公司 | 滚筒烘干机_转筒烘干机_滚筒干燥机_转筒干燥机_回转烘干机_回转干燥机-设备生产厂家 | 臭氧老化试验箱,高低温试验箱,恒温恒湿试验箱,防水试验设备-苏州亚诺天下仪器有限公司 | 泰安办公家具-泰安派格办公用品有限公司 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 济南铝方通-济南铝方通价格-济南方通厂家-山东鲁方通建材有限公司 | TTCMS自助建站_网站建设_自助建站_免费网站_免费建站_天天向上旗下品牌 | 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 石牌坊价格石牌坊雕刻制作_石雕牌坊牌楼石栏杆厂家_山东嘉祥石雕有限公司 |