版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Python程序設(shè)計
全國高等院校新工科數(shù)據(jù)科學(xué)與大數(shù)據(jù)系列規(guī)劃教材
Python程序設(shè)計
甘勇吳懷廣◎編著
內(nèi)容簡介
本書以“計算思維”培養(yǎng)為目標,貫穿理解和運用Python的計算生態(tài)環(huán)境,系統(tǒng)展示了
Python語言學(xué)習(xí)路徑。本書分為12章:第1章講解Python基礎(chǔ)知識與概念,以及Python的交
互式解釋器IDLE;第2章講解Python語言語法基礎(chǔ);第3章講解Python控制語句;第4章講
解Python數(shù)據(jù)結(jié)構(gòu);第5章講解Python函數(shù);第6章講解Python模塊和包;第7章講解文件
操作;第8章講解面向?qū)ο缶幊?;?章講解異常;第10章講解Python函數(shù)式編程;第11章
講解數(shù)據(jù)分析與可視化;第12章講解機器學(xué)習(xí)實戰(zhàn)。
本書內(nèi)容覆蓋了Python語言的大部分知識點,敘述清晰,循序漸進,以大量實例為依托,
提供大量學(xué)習(xí)資料、學(xué)習(xí)視頻、在線實驗環(huán)境、立體化教學(xué)資源。本書適合作為高等院校數(shù)據(jù)
科學(xué)與大數(shù)據(jù)及計算機相關(guān)專業(yè)的教材,也可作為對Python感興趣讀者的自學(xué)參考書。
圖書在版編目(CIP)數(shù)據(jù)
Python程序設(shè)計/甘勇,吳懷廣主編.—北京:中國鐵道
出版社有限公司,2019.11(2021.1重?。?/p>
全國高等院校新工科數(shù)據(jù)科學(xué)與大數(shù)據(jù)系列規(guī)劃教材
ISBN978-7-113-26312-6
Ⅰ.①P…Ⅱ.①甘…②吳…Ⅲ.①軟件工具-程序設(shè)計-高等
學(xué)校-教材Ⅳ.①TP311.561
本書通過四川一覽文化傳播廣告有限公司代理,經(jīng)福地出版社授權(quán)出版中文簡體字版
中國版本圖書館CIP數(shù)據(jù)核字(2019)第242417號
書名:Python程序設(shè)計
作者:甘勇吳懷廣
策劃:韓從付周海燕編輯部電話:(010)51873202
責(zé)任編輯:周海燕賈星馮彩茹
封面設(shè)計:崔麗芳
責(zé)任校對:張玉華
責(zé)任印制:樊啟鵬
出版發(fā)行:中國鐵道出版社有限公司(100054,北京市西城區(qū)右安門西街8號)
網(wǎng)址:/51eds/
印刷:三河市航遠印刷有限公司
版次:2019年11月第1版2021年1月第2次印刷
開本:787mm×1092mm1/16印張:15.25字數(shù):294千
書號:ISBN978-7-113-26312-6
定價:46.00元
版權(quán)所有侵權(quán)必究
凡購買鐵道版圖書,如有印制質(zhì)量問題,請與本社教材圖書營銷部聯(lián)系調(diào)換。電話:(010)63550836
打擊盜版舉報電話:(010)63549461
序
FOREWORD
隨著信息技術(shù)的不斷發(fā)展,人類在計算的“算力”“算法”“數(shù)據(jù)”等方面的能
力水平達到前所未有的高度。由此引發(fā)的數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)及人工智能技術(shù)浪潮
將極大地推動和加速人類社會各個方面的深刻變革。世界各國清楚地認識到數(shù)據(jù)科學(xué)
與人工智能的重要性和前瞻性,相繼制定有關(guān)的發(fā)展政策、戰(zhàn)略,希望能夠占領(lǐng)高新
技術(shù)的前沿高地,把握最新的核心技術(shù)和競爭力。
在大數(shù)據(jù)及人工智能發(fā)展浪潮中,我國敏銳地把握住時代的機遇以求得到突破性
的發(fā)展。2015年10月,我國提出“國家大數(shù)據(jù)戰(zhàn)略”,發(fā)布了《促進大數(shù)據(jù)發(fā)展行
動綱要》;2017年,《大數(shù)據(jù)產(chǎn)業(yè)發(fā)展規(guī)劃(2016—2020年)》實施?!巴苿踊ヂ?lián)網(wǎng)、
大數(shù)據(jù)、人工智能和實體經(jīng)濟深度融合”成為工作指引,習(xí)近平總書記在政治局集體
學(xué)習(xí)中深刻分析了我國大數(shù)據(jù)發(fā)展的現(xiàn)狀和趨勢,對我國實施國家大數(shù)據(jù)戰(zhàn)略提出了
更高的要求。2016年教育部批準設(shè)立數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)本科專業(yè)和大數(shù)據(jù)技術(shù)與
應(yīng)用專科專業(yè),引導(dǎo)高校加快大數(shù)據(jù)人才培養(yǎng),以適應(yīng)國家大數(shù)據(jù)戰(zhàn)略對人才的需求。
我國大數(shù)據(jù)人才培養(yǎng)進入快速發(fā)展時期,據(jù)統(tǒng)計,到2018年3月,我國已有近300所
高校獲批建設(shè)“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”專業(yè),2019年9月,設(shè)立這一專業(yè)的高校將
增至500所。僅河南省設(shè)立“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”專業(yè)的本科高校達到36所,設(shè)
立“大數(shù)據(jù)技術(shù)與應(yīng)用”專業(yè)的高職高專院校達到38所。然而,當(dāng)前我國高校的大數(shù)
據(jù)教學(xué)尚處于摸索階段,尤其缺乏成熟的、系統(tǒng)性和規(guī)范性的大數(shù)據(jù)教學(xué)體系和教材。
2017年2月,教育部在復(fù)旦大學(xué)召開“高等工程教育發(fā)展戰(zhàn)略研討會”達成“復(fù)旦共
識”,隨后從“天大行動”到“北京指南”,掀起新工科建設(shè)的熱潮,各高校積極開
展新理念、新結(jié)構(gòu)、新模式、新質(zhì)量和新體系的新工科建設(shè)模式的探索。2018年10月,
教育部發(fā)布了《關(guān)于加快建設(shè)發(fā)展新工科實施卓越工程師教育培養(yǎng)計劃2.0的意見》,
提出大力發(fā)展“四個新”(新工科、新醫(yī)科、新農(nóng)科、新文科),推動各地各高校加
快構(gòu)建大數(shù)據(jù)、智能制造、機器人等10個新興領(lǐng)域的專業(yè)課程體系。為了落實國家戰(zhàn)
略、加快大數(shù)據(jù)新工科專業(yè)建設(shè),加速人才培養(yǎng),提供人才支撐,都需要更多地關(guān)注
數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)及人工智能相關(guān)專業(yè)教材的建設(shè)和出版工作。為此河南省高等
學(xué)校計算機教育研究會組織河南省高校與中國鐵道出版社有限公司、中國科學(xué)院計算
技術(shù)研究所和相關(guān)企業(yè)聯(lián)合成立了編委會,分別面向本科和高職高專編寫教材。
本編委會秉承虛心求教、博采眾長的學(xué)習(xí)態(tài)度,積極組織一線教師、科研人員和
企業(yè)工程師一起面向新工科開展大數(shù)據(jù)領(lǐng)域教材的編寫工作,以期為蓬勃發(fā)展的數(shù)據(jù)
科學(xué)與大數(shù)據(jù)專業(yè)建設(shè)貢獻我們的綿薄之力。毋庸諱言,由于編委自身水平有限,編
著過程中難免出現(xiàn)諸多疏漏與不妥之處,還望讀者不吝賜教!
編委會
2019年6月
前???言
PREFACE
人類的語言,無論漢語、英語、西班牙語還是法語,其作用都是傳遞信息。而
計算機程序設(shè)計語言和人類語言一樣,也是為了信息的傳遞,只是溝通的對象變成
了機器。通過計算機程序設(shè)計語言,計算機可以“聽懂”并按照代碼的要求執(zhí)行任
務(wù)。我們都知道底層的計算機指令是由0和1組成的,如果人類嘗試用一串串的0
和1與計算機溝通,那難度也太大了,所以由0和1的指令串就逐步抽象為低級語
言,然后再到高級語言。越低級的語言越接近機器語言,越高級的語言越接近人類
語言。Python就是一種高級編程語言。
隨著人工智能的迅速發(fā)展,Python語言得到了越來越廣泛的普及和應(yīng)用。
TIOBE2019年1月發(fā)布的排行榜顯示,Python獲得2018年TIOBE最佳年度語言
稱號,這是Python第三次獲得TIOBE最佳年度語言排名,也是獲獎次數(shù)最多的編
程語言。Python簡單易用,語法簡潔清晰,代碼優(yōu)雅易讀。與C語言系列和Java
語言等相比,大幅度降低了學(xué)習(xí)和使用的難度。Python語言支持命令式編程、面
向?qū)ο蟪绦蛟O(shè)計、函數(shù)式編程,包含了完善的標準函數(shù)庫,并具備非常豐富的擴展
庫,能滿足幾乎所有領(lǐng)域的應(yīng)用。在這些庫的支撐下,很多復(fù)雜的任務(wù)只需要幾行
代碼就可以完成,大大降低了開發(fā)難度。
本書借鑒了大量已出版的Python語言程序設(shè)計圖書,覆蓋了Python語言大部
分知識點,從基本的程序設(shè)計思想入手,用大量實例來加深讀者的理解。本書配套
有《Python程序設(shè)計實踐教程》和在線實驗開發(fā)環(huán)境,通過便捷的實操練習(xí)和大
量的案例操作讓讀者快速掌握Python編程語言的使用方法。
本書由鄭州輕工業(yè)大學(xué)甘勇、吳懷廣編著,金松河、張靜、張偉偉、王捷、
王曉參與編寫,其中第1、2章由金松河、吳懷廣編寫,第3、4、5章由張靜編寫,
第6、7、10章由張偉偉編寫,第8、9章由王捷、甘勇編寫,第11、12章由王曉、
甘勇編寫,最后,由吳懷廣對全書進行了統(tǒng)稿和定稿。
本書的適用讀者對象如下(但不限于):
(1)計算機、人工智能、數(shù)據(jù)科學(xué)與大數(shù)據(jù)專業(yè)本科生。建議講授全部章節(jié),學(xué)
時為64學(xué)時。若已學(xué)習(xí)過C語言,則1~3章可作為前期自學(xué)內(nèi)容,講授學(xué)時可
縮短為48學(xué)時。
(2)數(shù)字媒體技術(shù)、軟件工程、網(wǎng)絡(luò)工程、信息安全、自動化及其他工科專
業(yè)的本科生。建議講授1~9章,根據(jù)需要選講10~12章,學(xué)時為48學(xué)時。
(3)會計、金融、管控學(xué)、心理學(xué)、統(tǒng)計及其他非工科類專業(yè)本科生。建議
講授1~7章,其余章節(jié)根據(jù)需要選講,學(xué)時為32~48學(xué)時。
(4)非計算機相關(guān)專業(yè)本科生。本書可作為公共基礎(chǔ)課程的程序設(shè)計教材。
建議講授1~5章,其余章節(jié)根據(jù)需要選講,學(xué)習(xí)為32~48學(xué)時。
本書提供全套教學(xué)課件、源代碼、課后習(xí)題答案與分析、考試題庫以及教學(xué)大綱,
配套資料可以在網(wǎng)址/51eds/下載或與責(zé)任編輯聯(lián)系索取。
限于水平,書中不足之處在所難免,敬請讀者和同行批評指正。
編者
2019年8月
編者
2019年6月
目錄
CONTENTS
第1章初識Python/1第2章Python語法基礎(chǔ)/25
1.1Python的起源/12.1Python語法特點/26
1.2Python的發(fā)展/22.1.1縮進分層/26
1.3Python的特點/32.1.2注釋規(guī)則/27
1.4Python的應(yīng)用/52.1.3語句換行/27
1.5搭建Python開發(fā)環(huán)境/62.1.4同一行寫多個語句/28
1.5.1在Windows平臺搭建2.1.5模塊/28
Python開發(fā)環(huán)境/62.2標準輸入/輸出/28
1.5.2在Mac平臺搭建Python開發(fā)2.2.1標準輸入函數(shù)/29
環(huán)境/102.2.2標準輸出函數(shù)/29
1.5.3在Linux平臺搭建Python開2.3變量和常量/30
發(fā)環(huán)境/102.4標識符與關(guān)鍵字/32
1.6Python開發(fā)環(huán)境IDLE簡介/112.5簡單數(shù)據(jù)類型/33
1.6.1啟動IDLE/112.5.1數(shù)字類型/33
1.6.2利用IDLE創(chuàng)建Python程序/122.5.2字符串類型/35
1.6.3運行Python程序/142.6類型轉(zhuǎn)換/39
1.6.4調(diào)試Python程序/152.7運算符與表達式/40
1.6.5常用PythonIDE介紹/212.7.1算術(shù)運算符/40
1.7使用幫助/222.7.2比較運算符/41
1.7.1使用在線幫助文檔/222.7.3邏輯運算符/43
1.7.2使用help()函數(shù)/222.7.4賦值運算符/43
小結(jié)/242.7.5位運算符/45
習(xí)題/242.7.6成員運算符/47
.I
Python程序設(shè)計
2.7.7標識運算符/484.3序列及通用操作/75
2.8運算符優(yōu)先級/494.3.1切片操作/75
小結(jié)/504.3.2連接和復(fù)制/77
習(xí)題/504.3.3成員檢查/78
第3章Python控制語句/514.3.4內(nèi)置函數(shù)/79
4.3.5元組、列表和字符串的相互
3.1選擇語句/51
轉(zhuǎn)換/79
3.1.1簡單if語句/51
4.4字典/80
3.1.2if-else語句/52
4.4.1字典的創(chuàng)建與賦值/80
3.1.3if-elif-else語句/53
4.4.2字典的基本操作/83
3.1.4if嵌套語句/55
4.4.3字典的相關(guān)方法/84
3.2循環(huán)語句/56
4.5集合/88
3.2.1for循環(huán)/56
4.5.1集合的創(chuàng)建和賦值/89
3.2.2for循環(huán)嵌套/58
4.5.2集合的基本操作/90
3.2.3while循環(huán)/58
4.5.3集合的運算/93
3.2.4while循環(huán)嵌套/59
4.6綜合案例/97
3.3跳轉(zhuǎn)語句/60
小結(jié)/99
3.3.1break語句/60
習(xí)題/99
3.3.2continue語句/61
3.3.3pass語句/62第5章Python函數(shù)/101
3.3.4else語句/625.1函數(shù)的定義與調(diào)用/101
小結(jié)/635.1.1函數(shù)的定義/101
習(xí)題/635.1.2函數(shù)的調(diào)用/102
第4章Python數(shù)據(jù)結(jié)構(gòu)/645.2函數(shù)返回值/102
5.3函數(shù)參數(shù)/104
4.1列表/64
5.3.1必須參數(shù)/104
4.1.1列表的創(chuàng)建/64
5.3.2默認參數(shù)/104
4.1.2列表的基本操作/66
5.3.3關(guān)鍵字參數(shù)/105
4.1.3列表的相關(guān)方法/68
5.3.4可變參數(shù)/105
4.2元組/72
5.4變量作用域/106
4.2.1元組的創(chuàng)建/72
5.4.1局部變量/106
4.2.2元組的基本操作/73
5.4.2全局變量/107
4.2.3元組的相關(guān)方法/74
5.5遞歸函數(shù)/108
II.
目錄
5.6綜合案例/1088.2類和對象/146
小結(jié)/1108.2.1類的定義/146
習(xí)題/1108.2.2創(chuàng)建對象/146
第6章Python模塊和包/1118.2.3self參數(shù)/147
6.1Python模塊/1128.2.4初始化方法/148
6.1.1模塊概述/1128.2.5析構(gòu)方法/150
6.1.2模塊的導(dǎo)入方式/1138.3類成員與實例成員/151
6.1.3模塊的內(nèi)建屬性和內(nèi)建函數(shù)/1138.3.1類屬性和實例屬性/151
6.1.4模塊的搜索路徑/1168.3.2類方法和靜態(tài)方法/153
6.2包/1178.4私有屬性和私有方法/155
6.2.1包的結(jié)構(gòu)/1178.5繼承/156
6.2.2包的初始化/1198.5.1單一繼承/157
6.2.3包的導(dǎo)入/1198.5.2多重繼承/160
6.3標準庫和第三方庫/1228.6多態(tài)/161
6.3.1Python標準庫簡介/122小結(jié)/164
6.3.2第三方庫/123習(xí)題/164
6.3.3第三方庫的安裝/126第9章異常/165
小結(jié)/1279.1異常概述/165
習(xí)題/1279.2捕獲異常/168
第7章文件操作/1289.2.1簡單的異常捕獲/169
7.1文件的打開與關(guān)閉/1299.2.2捕獲多種類型的異常/169
7.2文件的讀取/1349.2.3完整的異常捕獲語句/170
7.3文件的寫入/1369.3異常拋出/172
7.4OS模塊操作文件和目錄/1379.4else語句/173
小結(jié)/1409.5with語句/173
習(xí)題/141小結(jié)/174
習(xí)題/174
第8章面向?qū)ο缶幊?142
第10章Python函數(shù)式編程/175
8.1面向?qū)ο蟪绦蛟O(shè)計思想/143
8.1.1面向過程思想和面向?qū)ο笏枷?14310.1函數(shù)式編程概述/175
8.1.2面向?qū)ο蠓椒ǖ奶卣?14310.2匿名函數(shù)/176
.III
Python程序設(shè)計
10.3高階函數(shù)/17711.4.4數(shù)據(jù)補全/201
10.4閉包/18011.4.5數(shù)據(jù)編碼/202
10.5裝飾器/18211.4.6數(shù)據(jù)可視化/204
小結(jié)/187小結(jié)/211
習(xí)題/188習(xí)題/212
第11章數(shù)據(jù)分析與可視化/189第12章機器學(xué)習(xí)實戰(zhàn)/213
11.1numpy庫的使用/18912.1KNN/213
11.1.1numpy庫概述/18912.1.1K近鄰算法原理/214
11.1.2numpy庫安裝/19012.1.2KNN算法實現(xiàn)/214
11.1.3numoy庫解析/19012.1.3KNN算法優(yōu)缺點/216
11.2pandas庫的使用/19412.2手寫數(shù)字識別系統(tǒng)/216
11.2.1pandas庫概述/19412.2.1實驗開始/217
11.2.2pandas庫安裝/19412.2.2測試的步驟/218
11.2.3pandas庫使用/19512.2.3如何可視化選取k值/220
11.3Matplotlib庫的使用/19612.3scikit-learn庫/223
11.3.1Matplotlib庫概述/19612.3.1scikit-learn簡介/223
11.3.2Matplotlib庫安裝/19712.3.2scikit-learn實現(xiàn)手寫數(shù)字識別/224
11.3.3Matplotlib庫使用/19712.3.3交叉驗證法/226
11.4泰坦尼克號乘客生存分析/198小結(jié)/230
11.4.1數(shù)據(jù)來源/199習(xí)題/230
11.4.2導(dǎo)入數(shù)據(jù)/199參考文獻/231
11.4.3查看數(shù)據(jù)/199
IV.
Python程序設(shè)計
第1章
初識Python
Python是近年來發(fā)展勢頭最為迅猛的一門編程語言,它在數(shù)據(jù)分析、機
器學(xué)習(xí)、Web應(yīng)用開發(fā)、自動化運維、網(wǎng)絡(luò)爬蟲等領(lǐng)域均有不俗的表現(xiàn)。
Python專注于解決問題、擁有自由開放的社區(qū)環(huán)境、提供了豐富的API和第
三方工具包,各種Web框架、數(shù)據(jù)分析框架、爬蟲框架、機器學(xué)習(xí)框架應(yīng)有
盡有。越來越多的機構(gòu)和個人開始使用它,如今Python已經(jīng)風(fēng)靡全球,被業(yè)
界認為是最有前途的編程語言之一。本章將從Python的起源、發(fā)展、特點、
下載和安裝、Python程序的編寫和調(diào)試等內(nèi)容開始,帶領(lǐng)大家初識Python。
1.1Python的起源
很多偉大的作品往往是其作者打發(fā)時間的產(chǎn)物,Python也是如此。
1989年圣誕節(jié),待在阿姆斯特丹的荷蘭人吉多·范羅蘇姆(Guidovan
Rossum)突發(fā)奇想,想起之前開發(fā)ABC語言時還留下一些問題沒有解決,
Python的
他決定寫個腳本解釋語言打發(fā)時間,Python也因此而誕生,關(guān)于Python這起源
.1
Python程序設(shè)計
個名字,據(jù)說來自于吉多非常喜歡的電視劇MontyPython'sFlyingCircus。
Python語言吸取了ABC語言因沒有開源而失敗的經(jīng)驗,吉多將Python語言上傳至開源
社區(qū),并且實現(xiàn)了ABC語言未曾實現(xiàn)的部分功能。可以說,Python語言是從ABC語言發(fā)展
起來,主要受到了Modula-3(另一種相當(dāng)優(yōu)美且強大的語言,為小型團體所設(shè)計的)的影響,
并且結(jié)合了UNIXshell和C語言用戶的習(xí)慣。
1991年,第一個Python編譯器誕生。它是用C語言實現(xiàn)的,并能夠調(diào)用C語言的庫文
件。從一誕生,Python就具有類、函數(shù)、異常處理、包含表和詞典在內(nèi)的核心數(shù)據(jù)類型,以
及模塊為基礎(chǔ)的拓展系統(tǒng)。
1.2Python的發(fā)展
最初的Python完全由吉多本人開發(fā)。很快Python就得到了吉多同事的歡迎。他們迅速
地反饋使用意見,并參與到Python的改進工作中。吉多和一些同事構(gòu)成了Python的核心團
隊,他們將自己大部分的時間用于hackPython。隨后,Python拓展到他們所在的研究所之
外。Python將許多機器層面上的細節(jié)隱藏,交給編譯器處理,并凸顯出邏輯層面的編程思考。
Python程序員可以花更多的時間用于思考程序的邏輯,而不是具體的實現(xiàn)細節(jié),這一特征吸
引了廣大的程序員,Python開始流行。
2011年1月,Python被TIOBE編程語言排行榜評為“2010年度編程語言”的稱號。
2019年1月,Python再續(xù)輝煌,榮獲了“2018年度編程語言”的稱號。
如今的Python已經(jīng)成為應(yīng)用范圍較廣的編程語言之一,無形之中它也打破了近20年來
如鐵一般的Java、C和C++三足鼎立的格局。對此,TIOBE在發(fā)布2018年度編程語言排
行榜時,如此評價道:“Python是當(dāng)今高校中最常被教授的首選語言,它在統(tǒng)計領(lǐng)域排名第
一、在AI編程中排名第一、在編寫腳本時排名第一、在編寫系統(tǒng)測試時排名第一。除此之外,
Python還在Web編程和科學(xué)計算領(lǐng)域處于領(lǐng)先地位??傊?,Python無處不在?!?/p>
Python發(fā)展到現(xiàn)在,經(jīng)歷了很多版本,大家可以到Python官網(wǎng)進行查看,網(wǎng)址是
https://www.P/,下面僅列舉一些比較有代表性的版本信息。
●Python1.0:1994年1月
●Python1.2:1995年4月10日
●Python1.3:1995年10月12日
●Python1.4:1996年10月25日
●Python1.5:1997年12月31日
●Python1.6:2000年09月05日
2.
Python程序設(shè)計第1章初識Python
●Python2.0:2000年10月16日
●Python2.1:2001年4月17日
●Python2.2:2001年12月21日
●Python2.3:2003年7月29日
●Python2.4:2004年11月30日
●Python2.5:2006年12月19日
●Python2.6:2008年10月1日
●Python2.7:2010年7月3日
●Python3.0:2008年12月3日
●Python3.1:2009年6月27日
●Python3.2:2011年2月20日
●Python3.3:2012年9月29日
●Python3.4:2014年5月16日
●Python3.5:2015年9月13日
●Python3.6:2016年12月23日
●Python3.7:2018年6月27日
仔細閱讀的用戶肯定會有這樣的疑問:既然在2008年已經(jīng)發(fā)布了Python3.0版本,為
什么在2010年還要發(fā)布Python2.7版本呢?
這是因為Python3.0版本不再兼容Python2.0版本,導(dǎo)致很多用戶無法正常升級使用新
版本,所以后來又發(fā)布了一個Python2.7的過渡版本,而且Python2.7僅支持到2020年,
所以新手最好從Python3.0開始入手。
1.3Python的特點
Python具有以下顯著特點。
1.Python的優(yōu)點
(1)簡單易學(xué)
Python是一種代表簡單主義思想的語言,閱讀一個編寫規(guī)范的Python程序就感覺像是
在讀英語一樣,它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。Python非常容易上手,
因為Python語法非常簡單。
(2)免費、開源
Python是FLOSS(自由/開放源碼軟件)之一,使用者可以自由地發(fā)布這個軟件的副本、
.3
Python程序設(shè)計
閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中,這種扎實的群眾基礎(chǔ)也
是Python變得愈來愈優(yōu)秀的原因之一。
(3)高級語言
用Python語言編寫程序的時候無須考慮諸如如何管理程序使用的內(nèi)存一類的底層細節(jié)。
(4)可移植性
由于它的開源本質(zhì),Python已經(jīng)被移植到許多平臺上,如:Linux、Windows、Macintosh、
OS/2等平臺。
(5)解釋性
一個編譯性語言(如C或C++)編寫的程序可以從源文件轉(zhuǎn)換成計算機使用的語言(二
進制代碼,即0和1),這個過程通過編譯器完成。運行程序時,連接/轉(zhuǎn)載器軟件把編譯好
的程序從硬盤復(fù)制到內(nèi)存中運行。
Python語言編寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。在計算
機內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再將其翻譯成計算機使
用的機器語言并運行。這使得使用Python更加簡單,也使得Python程序更加易于移植。
(6)面向?qū)ο?/p>
在Python中一切皆對象,它完全支持繼承、重載和泛型設(shè)計。
(7)可擴展性
如果需要一段關(guān)鍵代碼運行得更快或者希望某些算法不被公開,可以使用C或C++編
寫部分程序,然后在Python中使用它們即可。
(8)豐富的庫
Python內(nèi)置幾百個類和函數(shù)庫,第三方庫更是高達十幾萬個,幾乎覆蓋了計算機技術(shù)的
各個領(lǐng)域。
Python的優(yōu)點還有很多,在后續(xù)的學(xué)習(xí)中我們會慢慢地感受和體會到這一點。
2.Python的缺點
(1)運行速度慢
這里是指與C和C++相比。Python是解釋型語言,代碼在執(zhí)行時會一行一行地翻譯成
CPU能理解的機器碼,這個翻譯過程非常耗時,所以速度比較慢。而C和C++程序是運行
前直接編譯成CPU能執(zhí)行的機器碼,所以非??臁?/p>
(2)代碼不能加密
如果要發(fā)布Python程序,實際上就是發(fā)布源代碼,這一點跟C和C++語言不同,C和
C++語言不用發(fā)布源代碼,只需要把編譯后的機器碼發(fā)布出去。要從機器碼反推出源代碼是
非常困難的,所以,凡是編譯型的語言都沒有這個問題,而解釋型的語言,則必須把源代碼
4.
Python程序設(shè)計第1章初識Python
發(fā)布出去。
(3)獨特的語法
這也許不應(yīng)該被稱為缺點,但是它用縮進來區(qū)分語句關(guān)系的方式還是會給很多初學(xué)者帶
來困惑,即便是很有經(jīng)驗的Python程序員,也可能深陷其中。
1.4Python的應(yīng)用
作為一種通用編程語言,Python的應(yīng)用場景幾乎是無限的。在Web開發(fā)、人工智能、
數(shù)據(jù)分析、自動化運維、網(wǎng)絡(luò)爬蟲、游戲開發(fā)等領(lǐng)域Python均有不俗的表現(xiàn)。
1.Web開發(fā)
Python語言能夠滿足快速迭代的需求,非常適合互聯(lián)網(wǎng)公司的Web開發(fā)應(yīng)用場景。
Python用作Web開發(fā)已有十多年的歷史,在這個過程中,涌現(xiàn)出了很多優(yōu)秀的Web開
發(fā)框架,如Django和Flask。許多知名網(wǎng)站都是使用Python語言開發(fā)的,如豆瓣、知乎、
Instagram、Pinterest、Dropbox等。這一方面說明了Python作為Web開發(fā)的受歡迎程度,
另一方面也說明Python語言用作Web開發(fā)經(jīng)受住了大規(guī)模用戶并發(fā)訪問的考驗。
2.人工智能
Python在人工智能大范疇領(lǐng)域內(nèi)的機器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)等方面都作為主流
的編程語言得到了廣泛的支持和應(yīng)用。最流行的神經(jīng)網(wǎng)絡(luò)框架(如Facebook的PyTorch和
Google的TensorFlow)都采用Python語言。
3.科學(xué)計算與數(shù)據(jù)分析
隨著numpy、SciPy、Matplotlib等科學(xué)計算與數(shù)據(jù)分析開源項目的開發(fā)和完善,Python
越來越適合于做科學(xué)計算和數(shù)據(jù)分析了。它不僅支持各種數(shù)學(xué)運算,還可以繪制高質(zhì)量的2D
和3D圖像。與科學(xué)計算領(lǐng)域最流行的商業(yè)軟件MATLAB相比,Python比MATLAB所采用
的腳本語言的應(yīng)用范圍更廣泛,可以處理更多類型的文件和數(shù)據(jù)。
4.自動化運維
在很多操作系統(tǒng)中,Python是標準的系統(tǒng)組件。大多數(shù)Linux發(fā)行版和MacOSX都
集成了Python,可以在終端下直接運行Python。Python標準庫包含了多個調(diào)用操作系統(tǒng)
功能的庫。對于Windows操作系統(tǒng),通過pywin32這個第三方軟件包,Python能夠訪問
Windows的COM服務(wù)及其他WindowsAPI。一般而言,Python編寫的系統(tǒng)管理腳本在可讀性、
性能、代碼重用度、擴展性等方面都優(yōu)于普通的shell腳本。
5.游戲開發(fā)
Python在很早的時候就是一種游戲編程的輔助工具。在《星球大戰(zhàn)》中扮演了重要的角
.5
Python程序設(shè)計
色。在《阿貝斯》(Abyss)、《星球之旅》(StarTrek)、《奪寶奇兵》(IndianaJones)等影片
中擔(dān)當(dāng)特技和動畫制作的工業(yè)光魔公司(IndustrialLight)就采用Python制作商業(yè)動畫?,F(xiàn)
在通過Python完全可以編寫出非常棒的游戲程序。
1.5搭建Python開發(fā)環(huán)境
Python已經(jīng)被移植到許多平臺上,如Windows、Mac和Linux等,用戶可以根據(jù)需要
為這些平臺安裝Python,但在不同的平臺上,安裝Python的方法不盡相同,本節(jié)將帶領(lǐng)大
家在不同的平臺上搭建Python開發(fā)環(huán)境。
考慮到本書是基于Windows平臺開發(fā)Python程序,所以將重點介紹在
Windows平臺上搭建Python開發(fā)環(huán)境的過程。
1.5.1在Windows平臺搭建Python開發(fā)環(huán)境安裝運行Python
1.下載安裝Python
①訪問Python的官網(wǎng)/,選擇Windows平臺的安裝包,如圖1-1
所示。
圖1-1選擇Windows平臺的安裝包
②單擊圖1-1中的“python3.7.3”按鈕,下載Python安裝包,
下載成功的安裝包,如圖1-2所示。
③雙擊圖1-2所示的Python安裝包,進入Python安裝界面,如
圖1-3所示。圖1-2Python安裝包
6.
Python程序設(shè)計第1章初識Python
圖1-3選擇安裝方式
圖1-3中為用戶提供了兩種安裝方式。第一種是默認的安裝方式;第二種是自定義安裝方式,
用戶可以自己選擇安裝路徑,靈活選擇啟用或禁用Python的某些功能。
另外,需要特別注意的是,在圖1-3的下方有一個“AddPython3.7toPATH”復(fù)選框。
如果勾選該復(fù)選框,安裝程序會自動幫助用戶添加環(huán)境變量。如果未勾選,需要用戶手動配
置環(huán)境變量。
④對于新手而言,選擇默認安裝并勾選“AddPython3.7toPATH”復(fù)選框即可。安裝
過程如圖1-4所示。
圖1-4安裝過程
⑤安裝過程大約會持續(xù)幾分鐘,然后出現(xiàn)圖1-5所示的安裝成功窗口,單擊“Close”按
鈕完成安裝。
.7
Python程序設(shè)計
圖1-5完成安裝
2.配置環(huán)境變量
如果在安裝過程中未勾選圖1-3中的“AddPython3.7toPATH”復(fù)選框,則Python
安裝成功后,還需要手動配置環(huán)境變量,具體步驟如下:
①右擊“計算機”圖標,在彈出的快捷菜單中選擇“屬性”菜單項,打開“系統(tǒng)”窗口,
單擊右側(cè)的“高級系統(tǒng)設(shè)置”超鏈接,彈出“系統(tǒng)屬性”對話框,如圖1-6所示。
②單擊圖1-6中的“環(huán)境變量”按鈕,彈出“環(huán)境變量”對話框,單擊系統(tǒng)環(huán)境變量
“Path”,如圖1-7所示。
圖1-6“系統(tǒng)屬性”對話框圖1-7“環(huán)境變量”對話框
③單擊圖1-7下方的“編輯”按鈕,對環(huán)境變量Path進行編輯,如圖1-8所示。
8.
Python程序設(shè)計第1章初識Python
④在Path變量值的尾部加上英文的分號,然后再添加Python的安裝路徑,單擊“確定”
按鈕,完成環(huán)境變量的配置,如圖1-9所示。
圖1-8“編輯系統(tǒng)變量”對話框圖1-9添加Python安裝路徑
安裝Python后,在“開始”菜單的“所有程序”中看到圖1-10所示的新增菜單項。
圖1-10新增的Python3.7菜單項
這4項內(nèi)容分別是:
●IDLE(Python3.764-bit):官方自帶的Python集成開發(fā)環(huán)境。
●Python3.7(64-bit):Python終端。
●Python3.7Manuals(64-bit):CHM版本的Python3.7官方使用文檔。
●Python3.7ModuleDocs(64-bit):模塊速查文檔。
3.運行Python
安裝成功后,打開命令行窗口,輸入python,按【Enter】鍵,在窗口看到Python的版
本信息,說明Python已經(jīng)安裝成功,如圖1-11所示。
圖1-11Python版本信息
.9
Python程序設(shè)計
1.5.2在Mac平臺搭建Python開發(fā)環(huán)境
MAC系統(tǒng)一般都自帶有Python2.x版本。如果Mac系統(tǒng)的版本號高于OS10.9,那么
系統(tǒng)自帶的Python版本是2.7。只需要在終端輸入Python命令即可運行。
要安裝最新的Python3.7,有兩個方法:
①下載Python3.7的安裝程序,雙擊運行并安裝;
②如果已經(jīng)安裝了“Homebrew”,則直接通過“brewinstallPython3”命令安裝即可。
1.5.3在Linux平臺搭建Python開發(fā)環(huán)境
大多數(shù)Linux系統(tǒng)發(fā)行版都自帶了Python2.x版本。目前最新版的Ubuntu已經(jīng)自帶了
Python3.x版本。如果Linux系統(tǒng)沒有安裝Python或者只安裝了Python2.x,而需要的是
Python3.x,那么可以自己下載并安裝,具體步驟如下:
①登錄Python官網(wǎng):/。
②選擇適合于Linux的源碼包,如圖1-12所示。
圖1-12選擇Python源碼包
③下載python3.7.3源碼包。
④解壓下載的源碼包Python-3.7.3.tgz。
tar-zvxfpython-3.7.3.tgz
⑤解壓后,進入解壓目錄。
cdpython-3.7.3
⑥創(chuàng)建安裝目錄。
安裝Python3前,先在/usr/local下創(chuàng)建一個新的文件夾Python3(作為Python3的安
裝路徑,以免覆蓋Python2版本)。
mkdir/usr/local/python3
10.
Python程序設(shè)計第1章初識Python
⑦編譯安裝。
./con?gure--pre?x=/usr/local/python3
make
makeinstall
⑧建立新版本Python的軟鏈接。
ln-s/usr/local/python3/bin/python3/usr/bin/python3
⑨檢測安裝是否成功。
重新打開一個shell,輸入命令Python3,如果能進入圖1-13所示的Python交互環(huán)境
就表示安裝成功。
圖1-13Python交互環(huán)境
1.6Python開發(fā)環(huán)境IDLE簡介
IDLE是Python標準發(fā)行版內(nèi)置的一個簡單小巧的集成開發(fā)環(huán)境(Integrated
DevelopmentEnvironment,IDE),安裝好Python以后,IDLE就自動安裝
好了。IDLE包括了交互式命令行、編輯器、調(diào)試器等基本組件,足以應(yīng)付
大多數(shù)簡單應(yīng)用。IDLE是用Python編寫的,最初的作者正是吉多,它是非
利用IDLE創(chuàng)建
商業(yè)Python開發(fā)和初學(xué)者學(xué)習(xí)Python的最佳選擇之一。并運行Python
程序
1.6.1啟動IDLE
安裝Python后,可以選擇“開始”→“所有程序”→“Python3.7”→“IDLE”命令啟
動IDLE。IDLE啟動后的初始窗口如圖1-14所示。
圖1-14IDLE的交互式編程模式(PythonShell)
.11
Python程序設(shè)計
啟動IDLE后,首先出現(xiàn)的是Python
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 股東間股權(quán)轉(zhuǎn)讓協(xié)議
- 月嫂家政服務(wù)合同
- 廣告位租賃的合同
- 設(shè)備維護服務(wù)合同
- 停車車位租賃合同
- 模具鋼材采購合同
- 一兒一女夫妻離婚協(xié)議書
- 2025年日照貨運從業(yè)資格證模擬考試駕考
- 2025年德州貨運從業(yè)資格證模擬考試下載安裝
- 電梯管理方維修方及業(yè)主方三方合同(2篇)
- 梅大高速塌方災(zāi)害調(diào)查評估報告及安全警示學(xué)習(xí)教育
- 2025年供應(yīng)鏈管理培訓(xùn)課件
- 2025中智集團招聘高頻重點提升(共500題)附帶答案詳解
- 幼兒園2025年春季學(xué)期保教工作計劃
- 2025云南中煙再造煙葉限責(zé)任公司招聘高頻重點提升(共500題)附帶答案詳解
- DB13-T 6033-2024 半導(dǎo)體器件低濃度氫效應(yīng)試驗方法
- 《保利公司簡介》課件
- 中藥硬膏熱貼敷治療
- 醫(yī)保藥店員工培訓(xùn)管理制度
- 2025年中考語文文言文專項訓(xùn)練:《愚公移山》對比閱讀(含答案)
- 《攜程旅行營銷環(huán)境及營銷策略研究》10000字(論文)
評論
0/150
提交評論