書名: Python程序設(shè)計:基礎(chǔ)與實踐作者名: 殷錫亮 劉陽 張勝揚本章字數(shù): 1267字更新時間: 2024-01-31 18:21:26
前言
很多人都有這樣的疑問:哪個編程語言是最流行的?
就目前來說,我的答案是Python。請看它的成績單:2021年P(guān)ython榮獲TIOBE“年度編程語言”稱號,同時,Python也是自TIOBE榜單發(fā)布以來,首個5次獲得該稱號的編程語言,Python在該榜單2023年5月排名中仍然位居第一;在IEEE Spectrum發(fā)布的2021和2022年度編程語言排行榜中,Python在總榜單以及其他幾個分榜單中依然牢牢占據(jù)第一名的位置。當(dāng)本書出版時,Python依然會是主流編程語言排行榜的前幾名之一。
接下來你會問Python是什么。
準(zhǔn)確地說,Python是一種面向?qū)ο蟮慕忉屝透呒壘幊陶Z言,具有動態(tài)語義。你可能不喜歡在前言部分就遇到如此專業(yè)的術(shù)語解釋。那么在此部分,請看對它的非正式解釋。Python的名字源于Monty Python(巨蟒劇團),而不是Python單詞的含義(蟒蛇)。巨蟒劇團是英國的一個超現(xiàn)實幽默表演團體,被稱為“喜劇界的披頭士”,在20世紀70年代風(fēng)靡全球。雖然作者并不熟悉這個表演團體,但認為應(yīng)該向你介紹Python名字的來源。說完了Python名字的來源,你可能會想了解它的創(chuàng)造者。到底是誰創(chuàng)造了它?像Dennis MacAlistair Ritchie創(chuàng)造了C語言一樣,荷蘭國家數(shù)學(xué)與計算機科學(xué)研究中心的Guido van Rossum創(chuàng)造了Python。它的設(shè)計初衷就是希望使用者能輕松地實現(xiàn)編程,并且能寫出清晰、易懂的程序。
那么,我們?yōu)槭裁词褂肞ython呢?
Python是多個Linux發(fā)行版的重要組成部分,NASA使用它來完成程序開發(fā),Yahoo使用它來管理討論組,Google使用它來實現(xiàn)網(wǎng)絡(luò)爬蟲和搜索引擎的眾多組件,卡內(nèi)基梅隆大學(xué)的編程基礎(chǔ)課程、麻省理工學(xué)院的計算機科學(xué)及編程導(dǎo)論課程使用它來講授。著名的計算機視覺庫OpenCV、三維可視化庫VTK、醫(yī)學(xué)圖像處理庫ITK等都為Python提供了對應(yīng)的調(diào)用接口。Python專用的科學(xué)計算擴展包就更多了,例如NumPy、SciPy和Matplotlib,它們分別為Python提供了數(shù)值計算、快速數(shù)組處理和繪圖功能。經(jīng)典的機器學(xué)習(xí)包Scikit-learn中幾乎包含全部的機器學(xué)習(xí)算法的實現(xiàn)。PyTorch、TensorFlow和Keras三大深度學(xué)習(xí)包中的PyTorch和Keras的代碼完全使用Python編寫,除此之外,TensorFlow中也有部分代碼使用Python編寫。在不久的將來,假如你遇到一個軟件開發(fā)項目,當(dāng)你為選擇什么開發(fā)語言而犯愁時,就會有人說為什么不使用Python呢?
如果前面的答案足夠吸引你的話,那么你將會提出最后一個問題——怎么更好地學(xué)習(xí)并使用Python?本書力爭帶你走進Python的編程世界,從Python基礎(chǔ)開始直到Python項目實踐,其中Python項目實踐部分包括繪圖、機器視覺、優(yōu)化計算以及機器學(xué)習(xí)等科學(xué)研究方面和Web開發(fā)、爬蟲以及游戲開發(fā)等應(yīng)用方面的內(nèi)容。當(dāng)你學(xué)習(xí)本書提供的示例并進行練習(xí)后,你就已經(jīng)入門了,要知道“學(xué)習(xí)之道在于積累”。
本書第1章~第16章、第20章~第22章以及附錄部分由殷錫亮編寫,第17章由劉陽編寫,第18章由張勝揚編寫,第19章由張勝揚和劉陽合作編寫。
感謝哈爾濱工業(yè)大學(xué)的譚學(xué)治教授,沒有他在本書編寫期間對作者的鼓勵和支持,本書不可能這么快面世。感謝哈爾濱工業(yè)大學(xué)的賈敏教授和馬琳教授,他們在本書編寫過程中給予作者很多有益的指導(dǎo)。感謝人民郵電出版社信息技術(shù)分社社長陳冀康對本書架構(gòu)提出的寶貴意見,感謝本書的責(zé)任編輯李瑾,加工編輯陳繼亮、王璐瑤,沒有你們細致的審讀與編輯加工工作,不可能在出版之前校正出大量的錯誤。限于作者能力,書中疏漏之處在所難免,懇請讀者批評指正。
作者
2023年6月1日于哈爾濱
- 零基礎(chǔ)學(xué)Visual C++第3版
- OpenShift開發(fā)指南(原書第2版)
- Offer來了:Java面試核心知識點精講(原理篇)
- Reactive Programming with Swift
- Programming ArcGIS 10.1 with Python Cookbook
- Windows Server 2012 Unified Remote Access Planning and Deployment
- BIM概論及Revit精講
- Arduino計算機視覺編程
- Spring技術(shù)內(nèi)幕:深入解析Spring架構(gòu)與設(shè)計原理(第2版)
- C編程技巧:117個問題解決方案示例
- Julia High Performance(Second Edition)
- Selenium WebDriver Practical Guide
- 你好!Java
- 現(xiàn)代C++語言核心特性解析
- Manage Your SAP Projects with SAP Activate