版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
高等學(xué)校大數(shù)據(jù)技術(shù)與應(yīng)用規(guī)劃教材
Python程序設(shè)計教程
何慶新解姍姍王慧主編
內(nèi)容簡介
本書系統(tǒng)地介紹了Python編程語言的基礎(chǔ)知識,共分13章,主要內(nèi)容包括Python概述、Python
語言基礎(chǔ)、程序控制結(jié)構(gòu)、Python序列、函數(shù)設(shè)計與使用、面向?qū)ο缶幊?、文件操作、?shù)據(jù)庫操作、
網(wǎng)絡(luò)爬蟲、NumPy、pandas數(shù)據(jù)處理與分析、Matplotlib數(shù)據(jù)可視化基礎(chǔ)以及綜合應(yīng)用案例。
本書內(nèi)容全面,概念清晰,例題豐富,循序漸進(jìn),易于學(xué)習(xí)。書中以大量實例引導(dǎo)讀者逐步
深入學(xué)習(xí),每個實例程序都有詳盡的解釋,并都能在本書推薦的運行環(huán)境中正常運行。實例中既
有簡單易懂的程序片段,也有實際可用的綜合案例,有利于讀者迅速掌握Python開發(fā)的關(guān)鍵技術(shù)。
本書適合作為普通高等院校計算機(jī)、大數(shù)據(jù)及相關(guān)專業(yè)Python課程的教材,也可作為
Python初學(xué)者及從事大數(shù)據(jù)相關(guān)技術(shù)人員的參考用書,還可供自學(xué)考試的考生和全國計算機(jī)等
級考試(二級Python)考生研習(xí)。
圖書在版編目(CIP)數(shù)據(jù)
Python程序設(shè)計教程/何慶新,解姍姍,王慧主編.—北京:
中國鐵道出版社有限公司,2019.8
高等學(xué)校大數(shù)據(jù)技術(shù)與應(yīng)用規(guī)劃教材
ISBN978-7-113-25902-0
Ⅰ.①P…Ⅱ.①何…②解…③王…Ⅲ.①軟件工具-程序
設(shè)計-高等學(xué)校-教材Ⅳ.①TP311.561
中國版本圖書館CIP數(shù)據(jù)核字(2019)第141149號
書名:Python程序設(shè)計教程
作者:何慶新解姍姍王慧
策劃:潘晨曦編輯部電話2061
責(zé)任編輯:何紅艷包寧
封面設(shè)計:鄭春鵬
責(zé)任校對:張玉華
責(zé)任印制:郭向偉
出版發(fā)行:中國鐵道出版社有限公司(100054,北京市西城區(qū)右安門西街8號)
網(wǎng)址:/51eds/
印刷:三河市宏盛印務(wù)有限公司
版次:2019年8月第1版2019年8月第1次印刷
開本:787mm×1092mm1/16印張:19.5字?jǐn)?shù):474千
書號:ISBN978-7-113-25902-0
定價:49.80元
版權(quán)所有侵權(quán)必究
凡購買鐵道版圖書,如有印制質(zhì)量問題,請與本社教材圖書營銷部聯(lián)系調(diào)換。電話:(010)63550836
打擊盜版舉報電話:(010)51873659
PREFACE前言
Python已經(jīng)成為最受歡迎的程序設(shè)計語言之一。自從2004年以后,Python的使用率呈線
性增長。Python是解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計語言。早期的Python主
要用于UNIX系統(tǒng),由于其強大功能和各方面的優(yōu)點逐漸為人們認(rèn)識,到了20世紀(jì)80年代,
Python開始進(jìn)入其他操作系統(tǒng),并很快在各類大、中、小和微型計算機(jī)上得到廣泛使用,成
為最流行的程序設(shè)計語言之一。隨著計算機(jī)的普及和發(fā)展,Python在各個領(lǐng)域的應(yīng)用越來越
廣泛,幾乎各類計算機(jī)系統(tǒng)都支持Python的開發(fā)環(huán)境,這為Python的普及和應(yīng)用奠定了強
大基礎(chǔ)。
在大數(shù)據(jù)、云計算、人工智能等技術(shù)飛速發(fā)展的今天,Python有了更加廣闊的用武之地。
Python解釋器作為自由軟件,由全世界的Python愛好者維護(hù)、擴(kuò)充著能夠適應(yīng)各種需求的庫,
因此,Python當(dāng)前仍在不斷快速發(fā)展著。隨著Python的擴(kuò)展庫不斷豐富,使得Python無論是
作為入門編程語言還是在解決大數(shù)據(jù)分析、云計算、科學(xué)計算等領(lǐng)域問題都有著得天獨厚的優(yōu)
勢。Python作為編程語言本身來說很容易上手,即使從沒接觸過程序開發(fā)的學(xué)習(xí)者也很容易掌
握Python程序的編寫,這就使軟件設(shè)計、開發(fā)者不必過分關(guān)注程序的語言實現(xiàn),可以騰出時
間去關(guān)注優(yōu)化和算法問題。
據(jù)TIOBE編程語言社區(qū)在2019年3月發(fā)布的最新編程語言排行榜中,Python再度上升
2.39%,一躍超過C++語言,排在第三位,前兩位是Java語言和C語言。
Python得到越來越多編程愛好者的應(yīng)用,使得Python語言也順理成章地進(jìn)入本科教學(xué)計算
機(jī)類知識的課程體系。本書編者通過認(rèn)真分析和研究Python體系,結(jié)合多年教學(xué)實踐,列入
大量實例,深入淺出地引導(dǎo)讀者掌握Python程序設(shè)計的基本方法,并結(jié)合案例讓讀者能夠?qū)?/p>
所學(xué)的知識整合運用,讓讀者能夠在應(yīng)用層面體驗Python。
本書共13章,可分為兩部分:第1章~第7章為第一部分,第8章~第13章為第二部分。
第一部分主要介紹Python基礎(chǔ)知識,包括Python概述、語言基礎(chǔ)、程序控制結(jié)構(gòu)、Python序
列、函數(shù)設(shè)計與使用、面向?qū)ο缶幊獭⑽募僮鞯确矫妗5诙糠种饕榻BPython高級應(yīng)用
及綜合案例,包括數(shù)據(jù)庫操作、網(wǎng)絡(luò)爬蟲、NumPy、pandas數(shù)據(jù)處理與分析、Matplotlib數(shù)據(jù)可
視化等應(yīng)用。
本書的特點有:知識點的安排強調(diào)整體性和系統(tǒng)性,知識點的表達(dá)強調(diào)層次性和有序性;理
論與實際緊密結(jié)合,每章節(jié)內(nèi)容先介紹知識點再通過實例理解知識點,通過相對綜合的實例熟悉
·I·
知識的具體應(yīng)用。本書最后一章網(wǎng)站日志分析案例與旅游推薦案例是較復(fù)雜的應(yīng)用,涉及Python
中的大部分知識內(nèi)容,能使讀者對Python理解更加深入。
本書由閩南理工學(xué)院信息管理學(xué)院何慶新、解姍姍、王慧主編。本書出版得到2018年福
建省本科高校一般教育教學(xué)改革研究項目《以校企合作為基礎(chǔ)加強應(yīng)用型高校計算機(jī)類專業(yè)課
程建設(shè)的研究與實踐》資助,項目批準(zhǔn)號:FBJG20180153。
本書編寫過程中得到閩南理工學(xué)院各級領(lǐng)導(dǎo)的大力支持,同時校企合作企業(yè)泉州尚創(chuàng)網(wǎng)絡(luò)
科技有限公司提供了大量的技術(shù)支持,在此一并表示衷心的感謝!中國鐵道出版社有限公司
為本書的出版給予了大力支持,相關(guān)編輯出色的工作表現(xiàn)給我們留下了深刻印象,在此也表示
感謝!
由于本書編者水平有限,書中難免會有疏漏和不足之處,懇請廣大讀者和同行批評指正。
編者
2019年5月
·II·
目錄
CONTENTS目錄
2.4案例精選28
第一部分Python基礎(chǔ)知識小結(jié)32
習(xí)題32
第1章Python概述1
第3章程序控制結(jié)構(gòu)35
1.1Python的誕生和特點2
1.1.1Python的誕生23.1條件表達(dá)式35
1.1.2Python的特點23.2選擇結(jié)構(gòu)36
1.2Python的功能33.2.1if語句36
1.2.1Python常規(guī)應(yīng)用33.2.2if…else語句37
1.2.2Python在大數(shù)據(jù)時代下的應(yīng)用...33.2.3if…elif…else語句39
1.3Python的安裝43.2.4選擇結(jié)構(gòu)的嵌套40
1.4常用的Python第三方編輯器63.3循環(huán)結(jié)構(gòu)42
1.5第一個Python程序73.3.1while語句42
小結(jié)113.3.2for語句45
習(xí)題113.3.3continue和break語句49
3.3.4循環(huán)嵌套51
第2章Python語言基礎(chǔ)12
3.4案例精選55
2.1標(biāo)準(zhǔn)輸入/輸出12小結(jié)61
2.1.1標(biāo)準(zhǔn)輸入函數(shù)input()12習(xí)題61
2.1.2標(biāo)準(zhǔn)輸出函數(shù)print()
第4章Python序列63
與格式化輸出13
2.2Python數(shù)據(jù)類型174.1列表與列表推導(dǎo)式63
2.2.1數(shù)值類型174.1.1列表創(chuàng)建與刪除63
2.2.2字符串174.1.2列表常用方法65
2.2.3布爾類型204.1.3列表推導(dǎo)式67
2.2.4空值None204.1.4切片68
2.2.5數(shù)據(jù)類型的轉(zhuǎn)換204.2元組與生成器推導(dǎo)式69
2.3常量、變量、運算符與表達(dá)式...214.2.1元組69
2.3.1常量與變量214.2.2生成器推導(dǎo)式71
2.3.2運算符與表達(dá)式234.3字典72
2.3.3常用內(nèi)置函數(shù)254.3.1創(chuàng)建字典和添加、修改與刪除
元素72
·I·
4.3.2訪問字典對象的數(shù)據(jù)756.3.1繼承125
4.4集合766.3.2多態(tài)129
4.4.1集合基礎(chǔ)知識766.4特殊方法與運算符重載130
4.4.2集合操作與運算776.5案例精選132
4.4.3列表、元組、字典、集合的小結(jié)140
區(qū)別和相互轉(zhuǎn)換81習(xí)題140
4.5序列解包82
第7章文件操作142
4.6案例精選85
7.1文件對象142
小結(jié)87
7.2文本文件操作144
習(xí)題88
7.3二進(jìn)制文件操作146
第5章函數(shù)設(shè)計與使用907.3.1使用pickle模塊146
5.1函數(shù)的定義與調(diào)用917.3.2使用struct模塊147
5.1.1函數(shù)的定義917.4對Excel數(shù)據(jù)的讀/寫操作148
5.1.2函數(shù)調(diào)用927.5文件與文件夾操作151
5.1.3函數(shù)的返回值937.5.1os與os.path模塊151
5.1.4匿名函數(shù)947.5.2shutil模塊153
5.2函數(shù)的參數(shù)傳遞967.6文件目錄154
5.2.1默認(rèn)值參數(shù)與關(guān)鍵參數(shù)967.6.1文件目錄函數(shù)154
5.2.2可變長度參數(shù)987.6.2文件目錄操作155
5.2.3參數(shù)傳遞時的序列解包987.7案例精選156
5.3變量作用域100小結(jié)161
5.4閉包103習(xí)題162
5.5遞歸函數(shù)104
5.6模塊化程序設(shè)計108第二部分Python高級應(yīng)用
5.6.1模塊及其引用108
第8章數(shù)據(jù)庫操作163
5.6.2編寫自己的模塊和包110
8.1使用Python操作SQLite
5.7案例精選111
數(shù)據(jù)庫163
小結(jié)113
8.1.1Connection對象164
習(xí)題113
8.1.2Cursor對象165
第6章面向?qū)ο缶幊?148.1.3Row對象168
6.1類的定義與使用1158.2使用Python操作其他關(guān)系型
6.2數(shù)據(jù)成員與成員方法116數(shù)據(jù)庫169
6.2.1私有成員與公有成員1168.2.1操作Access數(shù)據(jù)庫169
6.2.2數(shù)據(jù)成員1178.2.2操作MSSQLServer數(shù)據(jù)庫169
6.2.3方法1188.2.3操作MySQL數(shù)據(jù)庫170
6.2.4屬性1208.3操作MongoDB數(shù)據(jù)庫171
6.3繼承、多態(tài)1258.4案例精選173
·II·
目錄
小結(jié)18110.3.5排序215
習(xí)題18210.3.6集合運算215
10.4案例精選216
第9章網(wǎng)絡(luò)爬蟲183
小結(jié)217
9.1網(wǎng)絡(luò)爬蟲概述183
習(xí)題217
9.1.1網(wǎng)絡(luò)爬蟲及其應(yīng)用183
9.1.2網(wǎng)絡(luò)爬蟲結(jié)構(gòu)185第11章pandas數(shù)據(jù)處理與分析...219
9.2Python第三方庫18511.1pandas簡介219
9.2.1Python第三方庫的概念18511.2數(shù)據(jù)準(zhǔn)備219
9.2.2Python第三方庫的安裝11.2.1pandas的數(shù)據(jù)結(jié)構(gòu)219
方法18611.2.2數(shù)據(jù)導(dǎo)入222
9.2.3Python第三方庫的使用11.2.3數(shù)據(jù)導(dǎo)出225
方法18711.3數(shù)據(jù)預(yù)處理227
9.3爬蟲基本庫18711.3.1數(shù)據(jù)清洗227
9.3.1Requests庫18711.3.2數(shù)據(jù)抽取230
9.3.2BeautifulSoup庫18911.3.3插入記錄235
9.4案例精選19211.3.4修改記錄236
9.4.1抓取泉州地區(qū)短租房信息19211.3.5排名索引237
9.4.2抓取酷狗TOP500的數(shù)據(jù)19611.3.6數(shù)據(jù)合并240
小結(jié)19811.3.7數(shù)據(jù)計算244
習(xí)題19811.3.8數(shù)據(jù)分組246
11.3.9日期處理247
第10章NumPy201
11.4數(shù)據(jù)分析249
10.1ndarray多維數(shù)組201
11.4.1基本統(tǒng)計分析249
10.1.1ndarray數(shù)組的創(chuàng)建201
11.4.2分組分析250
10.1.2ndarray對象的屬性203
11.4.3分布分析251
10.1.3ndarray數(shù)據(jù)類型204
11.4.4交叉分析252
10.1.4數(shù)組變換204
11.4.5結(jié)構(gòu)分析253
10.1.5NumPy的隨機(jī)數(shù)函數(shù)206
11.4.6相關(guān)分析254
10.2數(shù)組的索引和切片208
11.5案例精選255
10.2.1數(shù)組的索引208
11.5.1數(shù)據(jù)來源255
10.2.2數(shù)組的切片209
11.5.2數(shù)據(jù)清洗256
10.2.3布爾型索引210
11.5.3數(shù)據(jù)探索257
10.2.4花式索引211
小結(jié)259
10.3數(shù)組的運算211
習(xí)題260
10.3.1數(shù)組的元素級運算211
10.3.2通用函數(shù)212第12章Matplotlib數(shù)據(jù)可視化
10.3.3條件邏輯運算213基礎(chǔ)262
10.3.4統(tǒng)計運算21412.1繪圖基礎(chǔ)語法262
·III·
12.1.1pyplot基礎(chǔ)語法262第13章綜合應(yīng)用案例282
12.1.2設(shè)置動態(tài)參數(shù)26513.1網(wǎng)站日志分析282
12.2分析特征間的關(guān)系26713.1.1網(wǎng)站日志解析282
12.2.1散點圖26713.1.2日志數(shù)據(jù)清洗284
12.2.2折線圖26813.1.3日志數(shù)據(jù)分析286
12.2.3案例精選27013.2旅游推薦293
12.3分析特征內(nèi)部關(guān)系27313.2.1按性價比給用戶推薦旅游
12.3.1直方圖273產(chǎn)品293
12.3.2餅圖27513.2.2通過熱力圖分析為用戶提供
12.3.3箱線圖275出行建議298
12.3.4案例精選276小結(jié)304
小結(jié)281習(xí)題304
習(xí)題281
參考文獻(xiàn)304
·IV·
第1章Python概述
第一部分Python基礎(chǔ)知識
第1章
Python概述
Python已經(jīng)成為最受歡迎的程序設(shè)計語言之一。自從2004年以后,Python的使用率呈線
性增長。Python是解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計語言。早期的Python主要
用于UNIX操作系統(tǒng),由于其強大功能和各方面的優(yōu)點逐漸為人們認(rèn)識,到了20世紀(jì)80年
代,Python開始進(jìn)入其他操作系統(tǒng),并很快在各類大、中、小和微型計算機(jī)上得到廣泛使用,
成為最流行的程序設(shè)計語言之一。隨著計算機(jī)的普及和發(fā)展,Python在各個領(lǐng)域的應(yīng)用越來
越廣泛,幾乎各類計算機(jī)系統(tǒng)都支持Python的開發(fā)環(huán)境,這為Python的普及和應(yīng)用奠定了
強大基礎(chǔ)。
Python程序中使用的變量無須聲明,但變量在使用前要賦值,賦值后變量才會被創(chuàng)建,
Python中的變量沒有類型。
本章介紹Python的特點、Python的功能、Python環(huán)境的安裝、IDLE集成開發(fā)環(huán)境(IDE)
應(yīng)用、常用Python第三方編輯器的應(yīng)用及調(diào)試應(yīng)用程序的方法以及第一個Python程序的
開發(fā)。
主要內(nèi)容
Python的誕生和特點。
Python的功能。
Python的安裝。
IDLE集成開發(fā)環(huán)境(IDE)應(yīng)用。
常用Python第三方編輯器。
第一個Python程序。
學(xué)習(xí)目標(biāo)
掌握Python程序的基本結(jié)構(gòu)、基本符號與詞匯。
掌握Python集成開發(fā)環(huán)境IDLE的基本使用方法。
能夠編寫并在IDLE中編輯、運行最簡單的Python程序。
·1·
1.1Python的誕生和特點
1.1.1Python的誕生
Python是荷蘭人GuidovanRossum于1989年創(chuàng)立的。1991年初,第一個Python解釋器誕
生,它是用C語言實現(xiàn)的,并能夠調(diào)用C語言的庫文件。
TIOBE編程語言社區(qū)在2019年3月發(fā)布的最新編程語言排行榜中,Python再度上升2.39%,
超過C++語言,排在第三位,前兩位是Java語言和C語言。
Python實際上是一個可以用許多不同的方式來實現(xiàn)的語言規(guī)范。Python的解釋器如今有多
個語言實現(xiàn),常用的是CPython(官方版本的C語言實現(xiàn)),把Python編譯成中間態(tài)的字節(jié)碼,
然后由虛擬機(jī)解釋。其他還有Jython(可以運行在Java平臺)、IronPython(可以運行在.NET
和Mono平臺)、PyPy(Python實現(xiàn)的,支持JIT即時編譯)。Python創(chuàng)始的初衷是“想要一種
既能夠簡單如命令,強大如C的語言”。
1.1.2Python的特點
Python是當(dāng)今世界上應(yīng)用最廣泛的計算機(jī)語言之一。Python具有以下基本特點:
(1)簡單易學(xué)。對于初學(xué)Python的編程者來說,Python也非常簡單,Python讓編程者能夠
專注于解決問題而不是去研究語言本身。
(2)自由、開源。Python是FLOSS(自由/開放源碼軟件)之一。即開發(fā)者可以自由地發(fā)
布Python軟件的副本、閱讀其源代碼、對其做改動、把其一部分用于新的自由軟件中。Python
希望看到更加優(yōu)秀的人創(chuàng)造并經(jīng)常改進(jìn)。
(3)高層語言。使用Python編寫程序時無須考慮如何管理程序使用的內(nèi)存等底層細(xì)節(jié)。
(4)可移植性。由于其開源特性,Python已經(jīng)被移植在許多平臺上(經(jīng)過改動使它能夠工
作在不同平臺上)。Python程序無須修改就可以在下述任何平臺上運行:Linux、Windows、
FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、PalmOS、
QNX、VMS、Psion、AcomRISCOS、VxWorks、PlayStation、SharpZaurus、WindowsCE、PocketPC、
Symbian以及Google基于Linux開發(fā)的Android平臺。
(5)解釋性??梢灾苯訌脑创a運行。在計算機(jī)內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換為字節(jié)
碼的中間形式,然后將其翻譯成計算機(jī)使用的機(jī)器語言。
(6)面向?qū)ο?。Python既支持面向過程編程也支持面向?qū)ο缶幊?,在面向過程的語言中,
程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在面向?qū)ο蟮恼Z言中,程序是由數(shù)據(jù)和
功能組合而成的對象構(gòu)建起來的。與其他主要的語言(如C++和Java)相比,Python以一種非
常強大又簡單的方式實現(xiàn)面向?qū)ο缶幊獭?/p>
(7)可擴(kuò)展可嵌入。為解決某個特殊問題,如執(zhí)行效率要求高,或希望加密某個算法,則
這部分程序可以使用其他語言(如C/C++)編寫,在Python中調(diào)用即可。也可以把Python嵌
入C/C++程序中,從而提供腳本功能。
(8)豐富的庫。Python可以處理各種工作,包括正則表達(dá)式、文檔生成、單元測試、線程、
數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系
·2·
第1章Python概述
統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作。
(9)代碼規(guī)范。Python采用強制縮進(jìn)的方式使得代碼具有較好的可讀性。
(10)Python也有其不足之處:運行速度,對速度要求特別高的時候,可考慮用C++改寫
關(guān)鍵部分。不過對于普通用戶而言,機(jī)器的運行速度是可以忽略的。因為用戶根本感覺不出來
這種速度的差異。
1.2Python的功能
Python具有豐富和強大的庫。Python常被昵稱為膠水語言,能夠把用其他語言制作的各種
模塊(如C/C++)很容易地連接在一起。常見的一種應(yīng)用情形是,使用Python快速生成程序的
原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,
比如3D游戲中的圖形渲染模塊,對于性能要求特別高的部分,可以用C/C++重寫,而后封裝
為Python可以調(diào)用的擴(kuò)展類庫。
1.2.1Python常規(guī)應(yīng)用
(1)系統(tǒng)編程:提供API(ApplicationProgrammingInterface,應(yīng)用程序編程接口),能方便
地進(jìn)行系統(tǒng)維護(hù)和管理,是Linux下的標(biāo)志性語言之一,是很多系統(tǒng)管理員理想的編程工具。
(2)圖形處理:有PIL、Tkinter等圖形庫支持,能方便地進(jìn)行圖形處理。
(3)數(shù)學(xué)處理:NumPy擴(kuò)展提供與大量標(biāo)準(zhǔn)數(shù)學(xué)庫的接口。
(4)文本處理:Python提供的re模塊能支持正則表達(dá)式,還提供SGML、XML分析模塊,
許多程序員利用Python進(jìn)行XML程序開發(fā)。
(5)數(shù)據(jù)庫編程:程序員可通過遵循PythonDB-API(數(shù)據(jù)庫應(yīng)用程序編程接口)規(guī)范的
模塊與MicrosoftSQLServer、Oracle、Sybase、DB2、MySQL、SQLite等數(shù)據(jù)庫通信。Python自
帶有一個Gadfly模塊,提供了一個完整的SQL環(huán)境。
(6)網(wǎng)絡(luò)編程:提供豐富的模塊支持Sockets編程,能方便快速地開發(fā)分布式應(yīng)用程序。
很多大規(guī)模軟件開發(fā)計劃(如Zope、BitTorrent、Google、Facebook等)都在廣泛地使用它。
(7)Web編程:應(yīng)用的開發(fā)語言,支持XML技術(shù)。
(8)多媒體應(yīng)用:Python的PyOpenGL模塊封裝了“OpenGL應(yīng)用程序編程接口”,能進(jìn)行
二維和三維圖像處理。PyGame模塊可用于編寫游戲軟件。
(9)PYMO引擎:PYMO(PythonMemoriesOff)是一款運行于SymbianS60V3、Symbian3、
S60V5、Android系統(tǒng)上的AVG游戲引擎。
1.2.2Python在大數(shù)據(jù)時代下的應(yīng)用
因為Python擁有大量的數(shù)據(jù)處理庫,所以基本上在大數(shù)據(jù)中用到的機(jī)器學(xué)習(xí)算法中對數(shù)據(jù)
的抓取、對數(shù)據(jù)的處理和分析、對數(shù)據(jù)的繪圖和對數(shù)據(jù)的建模,都可以通過對應(yīng)庫的支持來實
現(xiàn)。同時在真實的數(shù)據(jù)分析中,Python簡練的語言能夠讓程序員把大量的精力放在數(shù)據(jù)分析和
理解上,而不是花費更多的時間去研究怎么寫代碼。Python具體在大數(shù)據(jù)中的應(yīng)用有:
(1)網(wǎng)絡(luò)爬蟲:又稱網(wǎng)絡(luò)蜘蛛,是大數(shù)據(jù)行業(yè)獲取數(shù)據(jù)的核心工具。沒有網(wǎng)絡(luò)爬蟲自動地、
不分晝夜地、高智能地在互聯(lián)網(wǎng)上抓取免費數(shù)據(jù),那些大數(shù)據(jù)相關(guān)的公司就無法經(jīng)營下去。能夠
·3·
編寫網(wǎng)絡(luò)爬蟲的編程語言很多,但Python是主流語言之一,其Scripy爬蟲框架應(yīng)用非常廣泛。
(2)數(shù)據(jù)分析與處理:在大量數(shù)據(jù)的基礎(chǔ)上,結(jié)合科學(xué)計算、機(jī)器學(xué)習(xí)等技術(shù),對數(shù)據(jù)進(jìn)
行清洗、去重、規(guī)格化和針對性的分析是大數(shù)據(jù)行業(yè)的基石。Python是數(shù)據(jù)分析的主流語言之
一。Python也是一個比較完善的數(shù)據(jù)分析生態(tài)系統(tǒng),其中Matplotlib經(jīng)常會被用來繪制數(shù)據(jù)圖
表,它是一個2D繪圖工具,有著良好的跨平臺交互特性。日常做描述統(tǒng)計用到的直方圖、散
點圖、條形圖等都會用到它,編寫簡單的代碼即可畫出圖。人們?nèi)粘?吹降腒線圖、月線圖也
可用Matplotlib繪制。如果在證券行業(yè)做數(shù)據(jù)分析,Python是必不可少的。
(3)人工智能應(yīng)用:在人工智能的應(yīng)用方面,得益于Python強大而豐富的庫以及數(shù)據(jù)分析
能力。Python在人工智能大范疇領(lǐng)域內(nèi)的機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)等方面都是主流的編
程語言,得到廣泛的支持和應(yīng)用。Python在人工智能中能夠找到比較成熟的包來加以調(diào)用。而
且Python是面向?qū)ο蟮膭討B(tài)語言,且適用于科學(xué)計算,這就使得Python在人工智能方面?zhèn)涫?/p>
青睞。雖然人工智能程序不限于Python,但依舊為Python提供了大量的API,這也正是因為
Python當(dāng)中包含著較多的適用于人工智能的模塊,比如Scikit-learn模塊等。調(diào)用方便、科學(xué)
計算功能強大依舊是Python在AI領(lǐng)域最強大的競爭力。
1.3Python的安裝
通常,Linux系統(tǒng)下(如Ubuntu、CentOS等)默認(rèn)隨系統(tǒng)安裝Python程序,所以本節(jié)主要
介紹如何在Windows平臺下安裝Python開發(fā)環(huán)境。
(1)登錄Python官網(wǎng)下載安裝包:/downloads/windows/,下載適合自
已系統(tǒng)的Python安裝包,以64位的軟硬件系統(tǒng)為例,有3種類型的安裝包供選擇:Windows
x86-64embeddablezipfile、Windowsx86-64executableinstaller、Windowsx86-64web-based
installer,本書以Windowsx86-64executableinstaller安裝包(python-3.7.3-amd64.exe)為例進(jìn)
行安裝講解。
(2)雙擊安裝包:python-3.7.3-amd64.exe,如圖1-1所示,打開安裝界面如圖1-2所示。
(3)在圖1-2中,勾選AddPython3.7toPATH復(fù)選框,然后單擊Customizeinstallation選項,
以便自行配置安裝路徑,在打開的選項中保持默認(rèn)設(shè)置即可,如圖1-3所示,單擊Next按鈕。
圖1-1Python安裝包圖1-2Python安裝界面
(4)在打開的圖1-4中,修改安裝路徑(如更改路徑為D:\Programs\Python\Python37),單
擊Install按鈕。
·4·
第1章Python概述
圖1-3選擇功能界面圖1-4修改安裝目錄界面
(5)打開圖1-5所示界面,等待安裝完成。
(6)打開圖1-6所示界面,說明已安裝完成,單擊Close按鈕。
圖1-5等待安裝完成界面圖1-6安裝完成界面
(7)測試Python,在DOS命令提示窗口中輸入“python”,輸出圖1-7所示Python信息,
說明Python安裝成功。
圖1-7測試Python安裝成功界面
(8)使用Python命令,在Python2.X下輸入print"HelloWorld!"或在Python3.X下輸入
print("HelloWorld!"),此處安裝的Python版本是Python3.X,因此需要采用后者的形式,輸出
圖1-8所示結(jié)果。
圖1-8測試print命令進(jìn)行輸出
·5·
(9)Python內(nèi)置開發(fā)環(huán)境的使用。在安裝Python后,選擇“開始”→“所有程序”→Python
3.7→IDEL(Python3.764-bit)命令(見圖1-9),即可打開Python集成開發(fā)環(huán)境IDEL,如圖1-10
所示。
圖1-9開始菜單中的IDLE命令圖1-10Python集成開發(fā)環(huán)境IDEL
在PythonShell下完成程序是交互式編程。交互式編程不需要創(chuàng)建腳本文件,是通過Python
解釋器的交互模式來編寫代碼,交互式編程的好處是程序?qū)崿F(xiàn)方便快捷。
1.4常用的Python第三方編輯器
集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE)是用于提供程序開發(fā)環(huán)境的應(yīng)
用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面等工具。集成了代碼編寫功能、
分析功能、編譯功能、調(diào)試功能等一體化的開發(fā)軟件服務(wù)套(組)。所有具備這一特性的軟件
或者軟件套(組)都可以叫集成開發(fā)環(huán)境。
1.優(yōu)秀Python編程環(huán)境一般要求
(1)保存和加載源代碼文件。一款集成開發(fā)環(huán)境或者編輯器應(yīng)該可以保存現(xiàn)有工作,并在
之后重新打開時仍然保持離開環(huán)境時的狀態(tài)。
(2)在環(huán)境內(nèi)運行代碼。在該環(huán)境下不需要退出編輯器來運行Python代碼,在其內(nèi)可以直
接運行Python程序。
(3)支持調(diào)試。在程序運行時支持逐步運行代碼,或查看中間變量、設(shè)置斷點等功能,以
便于調(diào)試。
(4)語法、關(guān)鍵字高亮顯示。支持對代碼中的關(guān)鍵詞、變量和符號快速標(biāo)識可以讓閱讀和
理解代碼更為輕松。
(5)自動補全代碼。調(diào)用Python內(nèi)置庫或函數(shù)時可以給出較好的提示或補全相應(yīng)的代碼,
并能夠?qū)Υa做好縮進(jìn)。
2.Python常用的集成開發(fā)環(huán)境
1)PyCharm
PyCharm是一個專門面向Python的全功能集成開發(fā)環(huán)境。擁有付費版(專業(yè)版)和免費開
源版(社區(qū)版),PyCharm在Windows、MacOSX、Linux系統(tǒng)中都支持快速安裝和使用。
PyCharm直接支持Python開發(fā)環(huán)境,打開一個新的文件即可開始編寫代碼。用戶也可在
PyCharm中直接運行和調(diào)試Python程序,并且它支持源碼管理和項目。
·6·
第1章Python概述
2)Eclipse+PyDev
Eclipse實際上是一款面向Java開發(fā)并兼容Linux、Windows、OSX的集成開發(fā)環(huán)境。它擁
有豐富的插件和擴(kuò)展功能市場,這使得Eclipse適用于各種各樣的開發(fā)項目。Eclipse中的PyDev
插件支持Python調(diào)試、代碼補全和交互式Python控制臺。在Eclipse中安裝PyDev非常便捷,
只需從Eclipse中選擇Help→EclipseMarketplace命令,然后搜索PyDev。單擊安裝,必要時重
啟Eclipse即可。
3)SublimeText
SublimeText是一款代碼編輯器,其開發(fā)者的夢想是“使之成為更好的文本編輯器”。Sublime
Text支持Python代碼編輯,同時兼容所有平臺,并且豐富的插件(稱之為“包”)擴(kuò)展了語法
和編輯功能。SublimeText迅捷小巧,并且具有良好的兼容性。
安裝額外的Python擴(kuò)展比較棘手,SublimeText中所有的包都是用Python編寫的,并且安
裝社區(qū)擴(kuò)展需要直接在SublimeText中執(zhí)行Python腳本。
4)Atom
同樣兼容所有平臺的Atom被稱為“21世紀(jì)可破解的文本編輯器”。開源的Atom擁有時尚
的界面、文件系統(tǒng)瀏覽器和擴(kuò)展插件市場,它是使用Electron構(gòu)建的,Electron使用JavaScript、
HTML和CSS構(gòu)建跨平臺的桌面應(yīng)用。Python語言由一款可在Atom運行時安裝的擴(kuò)展插件
支持。
5)Spyder
Spyder是一款為了數(shù)據(jù)科學(xué)工作流做了優(yōu)化的開源Python集成開發(fā)環(huán)境。它是附帶在
Anaconda軟件包管理器發(fā)行版中的,因此根據(jù)用戶的設(shè)置,有可能已經(jīng)在機(jī)器中安裝了Spyder。
Spyder引人注目的一點是其目標(biāo)受眾是使用Python的數(shù)據(jù)科學(xué)家們。Spyder很好地集成了
SciPy、NumPy和Matplotlib等公共Python數(shù)據(jù)科學(xué)庫。
Spyder擁有大部分集成開發(fā)環(huán)境具有的功能,例如,具備強大語法高亮功能的代碼編輯器,
Python代碼補全,甚至是集成文件瀏覽器。
1.5第一個Python程序
1.程序的實現(xiàn)
1.3節(jié)中已經(jīng)在PythonShell的交互式編程方式下實現(xiàn)輸出“HelloWorld!”,在實際開發(fā)中
更多的是在PythonIDLE等環(huán)境下完成腳本式程序的開發(fā)。Python中腳本式程序是先按Python
的語法規(guī)則完成源程序的編寫,保存為以.py為擴(kuò)展名的腳本文件,運行時再通過解釋器對腳
本文件中的語句進(jìn)行解釋執(zhí)行,直到腳本執(zhí)行完畢,程序執(zhí)行完成。腳本編程的好處是方便程
序的復(fù)用。下面用IDLE實現(xiàn)該程序的腳本式程序。
(1)打開PythonIDLE,如圖1-11所示。
(2)新建文件,選擇File→NewFile命令,如圖1-12所示。
(3)打開源代碼編輯窗口,如圖1-13所示。
(4)編寫程序,注意縮進(jìn),如圖1-14所示。
·7·
圖1-11PythonIDLE圖1-12在PythonIDLE中新建文件
圖1-13源代碼編輯窗口圖1-14HelloWorld程序
(5)保存文件。選擇保存目錄(如C:\),文件名為python1.py,如圖1-15所示。
(6)運行程序,選擇Run→RunModule命令(見圖1-16),運行結(jié)果如圖1-17所示。
圖1-15保存文件圖1-16選擇運行命令
圖1-17運行結(jié)果
2.Python的基礎(chǔ)語法
在正式開發(fā)Python程序前首先要了解Python的一些基本語法,語法表示程序的結(jié)構(gòu)或形
式,亦即表示構(gòu)成語言的各個記號之間的組合規(guī)律。
·8·
第1章Python概述
Python語法中有如下一些基本規(guī)則和特殊字符。
井號(#)表示其后的字符為Python語句的注釋——單行注釋。
三個單引號(''')或者三個雙引號(""")可以把多行內(nèi)容括起來實現(xiàn)多行注釋。
換行(\n)是標(biāo)準(zhǔn)的行分隔符(通常一個語句占一行)。
反斜線(\)繼續(xù)上一行。
分號(;)將兩條語句放在一行中。
冒號(:)將復(fù)合語句的頭和體分開。
代碼塊(語句塊)用縮進(jìn)的方式體現(xiàn)。
用不同的縮進(jìn)深度分隔不同的代碼塊。
Python文件以模塊的形式組織。
下面進(jìn)行詳細(xì)說明。
1)注釋(#、'''、""")
程序在解釋執(zhí)行過程中會忽略掉注釋中的代碼,注釋也通常用來對某段程序進(jìn)行說明,供
程序員更快地讀懂程序。例如:
#這是單行注釋
或
'''
這是多行注釋,用三個單引號
這是多行注釋,用三個單引號
這是多行注釋,用三個單引號
'''
或
"""
這也是多行注釋,用三個雙引號
這也是多行注釋,用三個雙引號
這也是多行注釋,用三個雙引號
"""
2)續(xù)行(\)
一般來講,Python的相鄰語句使用換行(回車)分隔,亦即一行一條語句。如果一行語句
過長,可以使用續(xù)行符(\)分解為多行,例如:
print\
("helloworld!")
與
print("helloworld!")
等價。
關(guān)于續(xù)行符有如下兩種例外情況:
①一個語句不使用續(xù)行符也可以跨行書寫。在使用閉合操作符時,單一語句也可以跨多
行。例如,在含有小括號、中括號、花括號時可以多行書寫。例如:
print("我的年齡是",
21)
但須注意,這時的縮進(jìn)(即使是自動的縮進(jìn))將失去語法上的作用。
·9·
②三引號內(nèi)包含的字符串也可以跨行書寫。例如:
print('''hello
world!''')
輸出結(jié)果為:
hello
world!
用三引號括起來的字符串有換行時輸出時自動換行。
說明:如果要在使用反斜線換行和使用括號元素?fù)Q行之間做一個選擇,推薦使用后者,因
為這樣可讀性會更好。
3)多個語句構(gòu)成代碼組(:)
縮進(jìn)位置相同的一組語句形成一個語句塊,亦稱代碼塊或代碼組。像if、for、while、def
和class等復(fù)合語句,首行均以關(guān)鍵字開始,并以冒號(:)結(jié)束,該行之后的一行或多行代碼
就構(gòu)成了代碼組,即語句塊。例如:
第3章將要學(xué)習(xí)的if語句:
ifa>b:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字修約題目及答案
- 2026年京東商城客服專員面試題庫及技巧
- 2025年禽畜養(yǎng)殖管理與防疫操作手冊
- 新入職幼兒教師培訓(xùn)制度
- 醫(yī)院藥房培訓(xùn)制度
- 2025院感培訓(xùn)制度
- 醫(yī)藥公司培訓(xùn)部薪酬制度
- 主播內(nèi)訓(xùn)培訓(xùn)后考核制度
- 護(hù)理層級培訓(xùn)制度
- 心理危機(jī)培訓(xùn)制度
- 金融領(lǐng)域人工智能算法應(yīng)用倫理與安全評規(guī)范
- 2026長治日報社工作人員招聘勞務(wù)派遣人員5人備考題庫及答案1套
- 機(jī)動車駕校安全培訓(xùn)課件
- 河道清淤作業(yè)安全組織施工方案
- 2025年役前訓(xùn)練考試題庫及答案
- 2026年七臺河職業(yè)學(xué)院單招職業(yè)技能測試題庫附答案
- 2021海灣消防 GST-LD-8318 緊急啟停按鈕使用說明書
- 煙花爆竹零售經(jīng)營安全責(zé)任制度
- 2023年和田地區(qū)直遴選考試真題匯編含答案解析(奪冠)
- ICG熒光導(dǎo)航在肝癌腹腔鏡解剖性肝切除中的應(yīng)用2026
- 城市軌道交通服務(wù)與管理崗位面試技巧
評論
0/150
提交評論