Python程序設計-鐵道出版社_第1頁
Python程序設計-鐵道出版社_第2頁
Python程序設計-鐵道出版社_第3頁
Python程序設計-鐵道出版社_第4頁
Python程序設計-鐵道出版社_第5頁
已閱讀5頁,還剩241頁未讀 繼續(xù)免費閱讀

付費閱讀全文

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Python程序設計

全國高等院校新工科數據科學與大數據系列規(guī)劃教材

Python程序設計

甘勇吳懷廣◎編著

內容簡介

本書以“計算思維”培養(yǎng)為目標,貫穿理解和運用Python的計算生態(tài)環(huán)境,系統展示了

Python語言學習路徑。本書分為12章:第1章講解Python基礎知識與概念,以及Python的交

互式解釋器IDLE;第2章講解Python語言語法基礎;第3章講解Python控制語句;第4章講

解Python數據結構;第5章講解Python函數;第6章講解Python模塊和包;第7章講解文件

操作;第8章講解面向對象編程;第9章講解異常;第10章講解Python函數式編程;第11章

講解數據分析與可視化;第12章講解機器學習實戰(zhàn)。

本書內容覆蓋了Python語言的大部分知識點,敘述清晰,循序漸進,以大量實例為依托,

提供大量學習資料、學習視頻、在線實驗環(huán)境、立體化教學資源。本書適合作為高等院校數據

科學與大數據及計算機相關專業(yè)的教材,也可作為對Python感興趣讀者的自學參考書。

圖書在版編目(CIP)數據

Python程序設計/甘勇,吳懷廣主編.—北京:中國鐵道

出版社有限公司,2019.11(2021.1重印)

全國高等院校新工科數據科學與大數據系列規(guī)劃教材

ISBN978-7-113-26312-6

Ⅰ.①P…Ⅱ.①甘…②吳…Ⅲ.①軟件工具-程序設計-高等

學校-教材Ⅳ.①TP311.561

本書通過四川一覽文化傳播廣告有限公司代理,經福地出版社授權出版中文簡體字版

中國版本圖書館CIP數據核字(2019)第242417號

書名:Python程序設計

作者:甘勇吳懷廣

策劃:韓從付周海燕編輯部電話:(010)51873202

責任編輯:周海燕賈星馮彩茹

封面設計:崔麗芳

責任校對:張玉華

責任印制:樊啟鵬

出版發(fā)行:中國鐵道出版社有限公司(100054,北京市西城區(qū)右安門西街8號)

網址:/51eds/

印刷:三河市航遠印刷有限公司

版次:2019年11月第1版2021年1月第2次印刷

開本:787mm×1092mm1/16印張:15.25字數:294千

書號:ISBN978-7-113-26312-6

定價:46.00元

版權所有侵權必究

凡購買鐵道版圖書,如有印制質量問題,請與本社教材圖書營銷部聯系調換。電話:(010)63550836

打擊盜版舉報電話:(010)63549461

FOREWORD

隨著信息技術的不斷發(fā)展,人類在計算的“算力”“算法”“數據”等方面的能

力水平達到前所未有的高度。由此引發(fā)的數據科學與大數據技術及人工智能技術浪潮

將極大地推動和加速人類社會各個方面的深刻變革。世界各國清楚地認識到數據科學

與人工智能的重要性和前瞻性,相繼制定有關的發(fā)展政策、戰(zhàn)略,希望能夠占領高新

技術的前沿高地,把握最新的核心技術和競爭力。

在大數據及人工智能發(fā)展浪潮中,我國敏銳地把握住時代的機遇以求得到突破性

的發(fā)展。2015年10月,我國提出“國家大數據戰(zhàn)略”,發(fā)布了《促進大數據發(fā)展行

動綱要》;2017年,《大數據產業(yè)發(fā)展規(guī)劃(2016—2020年)》實施。“推動互聯網、

大數據、人工智能和實體經濟深度融合”成為工作指引,習近平總書記在政治局集體

學習中深刻分析了我國大數據發(fā)展的現狀和趨勢,對我國實施國家大數據戰(zhàn)略提出了

更高的要求。2016年教育部批準設立數據科學與大數據技術本科專業(yè)和大數據技術與

應用??茖I(yè),引導高校加快大數據人才培養(yǎng),以適應國家大數據戰(zhàn)略對人才的需求。

我國大數據人才培養(yǎng)進入快速發(fā)展時期,據統計,到2018年3月,我國已有近300所

高校獲批建設“數據科學與大數據技術”專業(yè),2019年9月,設立這一專業(yè)的高校將

增至500所。僅河南省設立“數據科學與大數據技術”專業(yè)的本科高校達到36所,設

立“大數據技術與應用”專業(yè)的高職高專院校達到38所。然而,當前我國高校的大數

據教學尚處于摸索階段,尤其缺乏成熟的、系統性和規(guī)范性的大數據教學體系和教材。

2017年2月,教育部在復旦大學召開“高等工程教育發(fā)展戰(zhàn)略研討會”達成“復旦共

識”,隨后從“天大行動”到“北京指南”,掀起新工科建設的熱潮,各高校積極開

展新理念、新結構、新模式、新質量和新體系的新工科建設模式的探索。2018年10月,

教育部發(fā)布了《關于加快建設發(fā)展新工科實施卓越工程師教育培養(yǎng)計劃2.0的意見》,

提出大力發(fā)展“四個新”(新工科、新醫(yī)科、新農科、新文科),推動各地各高校加

快構建大數據、智能制造、機器人等10個新興領域的專業(yè)課程體系。為了落實國家戰(zhàn)

略、加快大數據新工科專業(yè)建設,加速人才培養(yǎng),提供人才支撐,都需要更多地關注

數據科學與大數據技術及人工智能相關專業(yè)教材的建設和出版工作。為此河南省高等

學校計算機教育研究會組織河南省高校與中國鐵道出版社有限公司、中國科學院計算

技術研究所和相關企業(yè)聯合成立了編委會,分別面向本科和高職高專編寫教材。

本編委會秉承虛心求教、博采眾長的學習態(tài)度,積極組織一線教師、科研人員和

企業(yè)工程師一起面向新工科開展大數據領域教材的編寫工作,以期為蓬勃發(fā)展的數據

科學與大數據專業(yè)建設貢獻我們的綿薄之力。毋庸諱言,由于編委自身水平有限,編

著過程中難免出現諸多疏漏與不妥之處,還望讀者不吝賜教!

編委會

2019年6月

前???言

PREFACE

人類的語言,無論漢語、英語、西班牙語還是法語,其作用都是傳遞信息。而

計算機程序設計語言和人類語言一樣,也是為了信息的傳遞,只是溝通的對象變成

了機器。通過計算機程序設計語言,計算機可以“聽懂”并按照代碼的要求執(zhí)行任

務。我們都知道底層的計算機指令是由0和1組成的,如果人類嘗試用一串串的0

和1與計算機溝通,那難度也太大了,所以由0和1的指令串就逐步抽象為低級語

言,然后再到高級語言。越低級的語言越接近機器語言,越高級的語言越接近人類

語言。Python就是一種高級編程語言。

隨著人工智能的迅速發(fā)展,Python語言得到了越來越廣泛的普及和應用。

TIOBE2019年1月發(fā)布的排行榜顯示,Python獲得2018年TIOBE最佳年度語言

稱號,這是Python第三次獲得TIOBE最佳年度語言排名,也是獲獎次數最多的編

程語言。Python簡單易用,語法簡潔清晰,代碼優(yōu)雅易讀。與C語言系列和Java

語言等相比,大幅度降低了學習和使用的難度。Python語言支持命令式編程、面

向對象程序設計、函數式編程,包含了完善的標準函數庫,并具備非常豐富的擴展

庫,能滿足幾乎所有領域的應用。在這些庫的支撐下,很多復雜的任務只需要幾行

代碼就可以完成,大大降低了開發(fā)難度。

本書借鑒了大量已出版的Python語言程序設計圖書,覆蓋了Python語言大部

分知識點,從基本的程序設計思想入手,用大量實例來加深讀者的理解。本書配套

有《Python程序設計實踐教程》和在線實驗開發(fā)環(huán)境,通過便捷的實操練習和大

量的案例操作讓讀者快速掌握Python編程語言的使用方法。

本書由鄭州輕工業(yè)大學甘勇、吳懷廣編著,金松河、張靜、張偉偉、王捷、

王曉參與編寫,其中第1、2章由金松河、吳懷廣編寫,第3、4、5章由張靜編寫,

第6、7、10章由張偉偉編寫,第8、9章由王捷、甘勇編寫,第11、12章由王曉、

甘勇編寫,最后,由吳懷廣對全書進行了統稿和定稿。

本書的適用讀者對象如下(但不限于):

(1)計算機、人工智能、數據科學與大數據專業(yè)本科生。建議講授全部章節(jié),學

時為64學時。若已學習過C語言,則1~3章可作為前期自學內容,講授學時可

縮短為48學時。

(2)數字媒體技術、軟件工程、網絡工程、信息安全、自動化及其他工科專

業(yè)的本科生。建議講授1~9章,根據需要選講10~12章,學時為48學時。

(3)會計、金融、管控學、心理學、統計及其他非工科類專業(yè)本科生。建議

講授1~7章,其余章節(jié)根據需要選講,學時為32~48學時。

(4)非計算機相關專業(yè)本科生。本書可作為公共基礎課程的程序設計教材。

建議講授1~5章,其余章節(jié)根據需要選講,學習為32~48學時。

本書提供全套教學課件、源代碼、課后習題答案與分析、考試題庫以及教學大綱,

配套資料可以在網址/51eds/下載或與責任編輯聯系索取。

限于水平,書中不足之處在所難免,敬請讀者和同行批評指正。

編者

2019年8月

編者

2019年6月

目錄

CONTENTS

第1章初識Python/1第2章Python語法基礎/25

1.1Python的起源/12.1Python語法特點/26

1.2Python的發(fā)展/22.1.1縮進分層/26

1.3Python的特點/32.1.2注釋規(guī)則/27

1.4Python的應用/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標準輸入函數/29

環(huán)境/102.2.2標準輸出函數/29

1.5.3在Linux平臺搭建Python開2.3變量和常量/30

發(fā)環(huán)境/102.4標識符與關鍵字/32

1.6Python開發(fā)環(huán)境IDLE簡介/112.5簡單數據類型/33

1.6.1啟動IDLE/112.5.1數字類型/33

1.6.2利用IDLE創(chuàng)建Python程序/122.5.2字符串類型/35

1.6.3運行Python程序/142.6類型轉換/39

1.6.4調試Python程序/152.7運算符與表達式/40

1.6.5常用PythonIDE介紹/212.7.1算術運算符/40

1.7使用幫助/222.7.2比較運算符/41

1.7.1使用在線幫助文檔/222.7.3邏輯運算符/43

1.7.2使用help()函數/222.7.4賦值運算符/43

小結/242.7.5位運算符/45

習題/242.7.6成員運算符/47

.I

Python程序設計

2.7.7標識運算符/484.3序列及通用操作/75

2.8運算符優(yōu)先級/494.3.1切片操作/75

小結/504.3.2連接和復制/77

習題/504.3.3成員檢查/78

第3章Python控制語句/514.3.4內置函數/79

4.3.5元組、列表和字符串的相互

3.1選擇語句/51

轉換/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字典的相關方法/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跳轉語句/60

小結/99

3.3.1break語句/60

習題/99

3.3.2continue語句/61

3.3.3pass語句/62第5章Python函數/101

3.3.4else語句/625.1函數的定義與調用/101

小結/635.1.1函數的定義/101

習題/635.1.2函數的調用/102

第4章Python數據結構/645.2函數返回值/102

5.3函數參數/104

4.1列表/64

5.3.1必須參數/104

4.1.1列表的創(chuàng)建/64

5.3.2默認參數/104

4.1.2列表的基本操作/66

5.3.3關鍵字參數/105

4.1.3列表的相關方法/68

5.3.4可變參數/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元組的相關方法/74

5.5遞歸函數/108

II.

目錄

5.6綜合案例/1088.2類和對象/146

小結/1108.2.1類的定義/146

習題/1108.2.2創(chuàng)建對象/146

第6章Python模塊和包/1118.2.3self參數/147

6.1Python模塊/1128.2.4初始化方法/148

6.1.1模塊概述/1128.2.5析構方法/150

6.1.2模塊的導入方式/1138.3類成員與實例成員/151

6.1.3模塊的內建屬性和內建函數/1138.3.1類屬性和實例屬性/151

6.1.4模塊的搜索路徑/1168.3.2類方法和靜態(tài)方法/153

6.2包/1178.4私有屬性和私有方法/155

6.2.1包的結構/1178.5繼承/156

6.2.2包的初始化/1198.5.1單一繼承/157

6.2.3包的導入/1198.5.2多重繼承/160

6.3標準庫和第三方庫/1228.6多態(tài)/161

6.3.1Python標準庫簡介/122小結/164

6.3.2第三方庫/123習題/164

6.3.3第三方庫的安裝/126第9章異常/165

小結/1279.1異常概述/165

習題/1279.2捕獲異常/168

第7章文件操作/1289.2.1簡單的異常捕獲/169

7.1文件的打開與關閉/1299.2.2捕獲多種類型的異常/169

7.2文件的讀取/1349.2.3完整的異常捕獲語句/170

7.3文件的寫入/1369.3異常拋出/172

7.4OS模塊操作文件和目錄/1379.4else語句/173

小結/1409.5with語句/173

習題/141小結/174

習題/174

第8章面向對象編程/142

第10章Python函數式編程/175

8.1面向對象程序設計思想/143

8.1.1面向過程思想和面向對象思想/14310.1函數式編程概述/175

8.1.2面向對象方法的特征/14310.2匿名函數/176

.III

Python程序設計

10.3高階函數/17711.4.4數據補全/201

10.4閉包/18011.4.5數據編碼/202

10.5裝飾器/18211.4.6數據可視化/204

小結/187小結/211

習題/188習題/212

第11章數據分析與可視化/189第12章機器學習實戰(zhàn)/213

11.1numpy庫的使用/18912.1KNN/213

11.1.1numpy庫概述/18912.1.1K近鄰算法原理/214

11.1.2numpy庫安裝/19012.1.2KNN算法實現/214

11.1.3numoy庫解析/19012.1.3KNN算法優(yōu)缺點/216

11.2pandas庫的使用/19412.2手寫數字識別系統/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實現手寫數字識別/224

11.3.3Matplotlib庫使用/19712.3.3交叉驗證法/226

11.4泰坦尼克號乘客生存分析/198小結/230

11.4.1數據來源/199習題/230

11.4.2導入數據/199參考文獻/231

11.4.3查看數據/199

IV.

Python程序設計

第1章

初識Python

Python是近年來發(fā)展勢頭最為迅猛的一門編程語言,它在數據分析、機

器學習、Web應用開發(fā)、自動化運維、網絡爬蟲等領域均有不俗的表現。

Python專注于解決問題、擁有自由開放的社區(qū)環(huán)境、提供了豐富的API和第

三方工具包,各種Web框架、數據分析框架、爬蟲框架、機器學習框架應有

盡有。越來越多的機構和個人開始使用它,如今Python已經風靡全球,被業(yè)

界認為是最有前途的編程語言之一。本章將從Python的起源、發(fā)展、特點、

下載和安裝、Python程序的編寫和調試等內容開始,帶領大家初識Python。

1.1Python的起源

很多偉大的作品往往是其作者打發(fā)時間的產物,Python也是如此。

1989年圣誕節(jié),待在阿姆斯特丹的荷蘭人吉多·范羅蘇姆(Guidovan

Rossum)突發(fā)奇想,想起之前開發(fā)ABC語言時還留下一些問題沒有解決,

Python的

他決定寫個腳本解釋語言打發(fā)時間,Python也因此而誕生,關于Python這起源

.1

Python程序設計

個名字,據說來自于吉多非常喜歡的電視劇MontyPython'sFlyingCircus。

Python語言吸取了ABC語言因沒有開源而失敗的經驗,吉多將Python語言上傳至開源

社區(qū),并且實現了ABC語言未曾實現的部分功能??梢哉f,Python語言是從ABC語言發(fā)展

起來,主要受到了Modula-3(另一種相當優(yōu)美且強大的語言,為小型團體所設計的)的影響,

并且結合了UNIXshell和C語言用戶的習慣。

1991年,第一個Python編譯器誕生。它是用C語言實現的,并能夠調用C語言的庫文

件。從一誕生,Python就具有類、函數、異常處理、包含表和詞典在內的核心數據類型,以

及模塊為基礎的拓展系統。

1.2Python的發(fā)展

最初的Python完全由吉多本人開發(fā)。很快Python就得到了吉多同事的歡迎。他們迅速

地反饋使用意見,并參與到Python的改進工作中。吉多和一些同事構成了Python的核心團

隊,他們將自己大部分的時間用于hackPython。隨后,Python拓展到他們所在的研究所之

外。Python將許多機器層面上的細節(jié)隱藏,交給編譯器處理,并凸顯出邏輯層面的編程思考。

Python程序員可以花更多的時間用于思考程序的邏輯,而不是具體的實現細節(jié),這一特征吸

引了廣大的程序員,Python開始流行。

2011年1月,Python被TIOBE編程語言排行榜評為“2010年度編程語言”的稱號。

2019年1月,Python再續(xù)輝煌,榮獲了“2018年度編程語言”的稱號。

如今的Python已經成為應用范圍較廣的編程語言之一,無形之中它也打破了近20年來

如鐵一般的Java、C和C++三足鼎立的格局。對此,TIOBE在發(fā)布2018年度編程語言排

行榜時,如此評價道:“Python是當今高校中最常被教授的首選語言,它在統計領域排名第

一、在AI編程中排名第一、在編寫腳本時排名第一、在編寫系統測試時排名第一。除此之外,

Python還在Web編程和科學計算領域處于領先地位??傊?,Python無處不在?!?/p>

Python發(fā)展到現在,經歷了很多版本,大家可以到Python官網進行查看,網址是

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程序設計第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年已經發(fā)布了Python3.0版本,為

什么在2010年還要發(fā)布Python2.7版本呢?

這是因為Python3.0版本不再兼容Python2.0版本,導致很多用戶無法正常升級使用新

版本,所以后來又發(fā)布了一個Python2.7的過渡版本,而且Python2.7僅支持到2020年,

所以新手最好從Python3.0開始入手。

1.3Python的特點

Python具有以下顯著特點。

1.Python的優(yōu)點

(1)簡單易學

Python是一種代表簡單主義思想的語言,閱讀一個編寫規(guī)范的Python程序就感覺像是

在讀英語一樣,它使你能夠專注于解決問題而不是去搞明白語言本身。Python非常容易上手,

因為Python語法非常簡單。

(2)免費、開源

Python是FLOSS(自由/開放源碼軟件)之一,使用者可以自由地發(fā)布這個軟件的副本、

.3

Python程序設計

閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中,這種扎實的群眾基礎也

是Python變得愈來愈優(yōu)秀的原因之一。

(3)高級語言

用Python語言編寫程序的時候無須考慮諸如如何管理程序使用的內存一類的底層細節(jié)。

(4)可移植性

由于它的開源本質,Python已經被移植到許多平臺上,如:Linux、Windows、Macintosh、

OS/2等平臺。

(5)解釋性

一個編譯性語言(如C或C++)編寫的程序可以從源文件轉換成計算機使用的語言(二

進制代碼,即0和1),這個過程通過編譯器完成。運行程序時,連接/轉載器軟件把編譯好

的程序從硬盤復制到內存中運行。

Python語言編寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。在計算

機內部,Python解釋器把源代碼轉換成稱為字節(jié)碼的中間形式,然后再將其翻譯成計算機使

用的機器語言并運行。這使得使用Python更加簡單,也使得Python程序更加易于移植。

(6)面向對象

在Python中一切皆對象,它完全支持繼承、重載和泛型設計。

(7)可擴展性

如果需要一段關鍵代碼運行得更快或者希望某些算法不被公開,可以使用C或C++編

寫部分程序,然后在Python中使用它們即可。

(8)豐富的庫

Python內置幾百個類和函數庫,第三方庫更是高達十幾萬個,幾乎覆蓋了計算機技術的

各個領域。

Python的優(yōu)點還有很多,在后續(xù)的學習中我們會慢慢地感受和體會到這一點。

2.Python的缺點

(1)運行速度慢

這里是指與C和C++相比。Python是解釋型語言,代碼在執(zhí)行時會一行一行地翻譯成

CPU能理解的機器碼,這個翻譯過程非常耗時,所以速度比較慢。而C和C++程序是運行

前直接編譯成CPU能執(zhí)行的機器碼,所以非常快。

(2)代碼不能加密

如果要發(fā)布Python程序,實際上就是發(fā)布源代碼,這一點跟C和C++語言不同,C和

C++語言不用發(fā)布源代碼,只需要把編譯后的機器碼發(fā)布出去。要從機器碼反推出源代碼是

非常困難的,所以,凡是編譯型的語言都沒有這個問題,而解釋型的語言,則必須把源代碼

4.

Python程序設計第1章初識Python

發(fā)布出去。

(3)獨特的語法

這也許不應該被稱為缺點,但是它用縮進來區(qū)分語句關系的方式還是會給很多初學者帶

來困惑,即便是很有經驗的Python程序員,也可能深陷其中。

1.4Python的應用

作為一種通用編程語言,Python的應用場景幾乎是無限的。在Web開發(fā)、人工智能、

數據分析、自動化運維、網絡爬蟲、游戲開發(fā)等領域Python均有不俗的表現。

1.Web開發(fā)

Python語言能夠滿足快速迭代的需求,非常適合互聯網公司的Web開發(fā)應用場景。

Python用作Web開發(fā)已有十多年的歷史,在這個過程中,涌現出了很多優(yōu)秀的Web開

發(fā)框架,如Django和Flask。許多知名網站都是使用Python語言開發(fā)的,如豆瓣、知乎、

Instagram、Pinterest、Dropbox等。這一方面說明了Python作為Web開發(fā)的受歡迎程度,

另一方面也說明Python語言用作Web開發(fā)經受住了大規(guī)模用戶并發(fā)訪問的考驗。

2.人工智能

Python在人工智能大范疇領域內的機器學習、神經網絡、深度學習等方面都作為主流

的編程語言得到了廣泛的支持和應用。最流行的神經網絡框架(如Facebook的PyTorch和

Google的TensorFlow)都采用Python語言。

3.科學計算與數據分析

隨著numpy、SciPy、Matplotlib等科學計算與數據分析開源項目的開發(fā)和完善,Python

越來越適合于做科學計算和數據分析了。它不僅支持各種數學運算,還可以繪制高質量的2D

和3D圖像。與科學計算領域最流行的商業(yè)軟件MATLAB相比,Python比MATLAB所采用

的腳本語言的應用范圍更廣泛,可以處理更多類型的文件和數據。

4.自動化運維

在很多操作系統中,Python是標準的系統組件。大多數Linux發(fā)行版和MacOSX都

集成了Python,可以在終端下直接運行Python。Python標準庫包含了多個調用操作系統

功能的庫。對于Windows操作系統,通過pywin32這個第三方軟件包,Python能夠訪問

Windows的COM服務及其他WindowsAPI。一般而言,Python編寫的系統管理腳本在可讀性、

性能、代碼重用度、擴展性等方面都優(yōu)于普通的shell腳本。

5.游戲開發(fā)

Python在很早的時候就是一種游戲編程的輔助工具。在《星球大戰(zhàn)》中扮演了重要的角

.5

Python程序設計

色。在《阿貝斯》(Abyss)、《星球之旅》(StarTrek)、《奪寶奇兵》(IndianaJones)等影片

中擔當特技和動畫制作的工業(yè)光魔公司(IndustrialLight)就采用Python制作商業(yè)動畫?,F

在通過Python完全可以編寫出非常棒的游戲程序。

1.5搭建Python開發(fā)環(huán)境

Python已經被移植到許多平臺上,如Windows、Mac和Linux等,用戶可以根據需要

為這些平臺安裝Python,但在不同的平臺上,安裝Python的方法不盡相同,本節(jié)將帶領大

家在不同的平臺上搭建Python開發(fā)環(huán)境。

考慮到本書是基于Windows平臺開發(fā)Python程序,所以將重點介紹在

Windows平臺上搭建Python開發(fā)環(huán)境的過程。

1.5.1在Windows平臺搭建Python開發(fā)環(huán)境安裝運行Python

1.下載安裝Python

①訪問Python的官網/,選擇Windows平臺的安裝包,如圖1-1

所示。

圖1-1選擇Windows平臺的安裝包

②單擊圖1-1中的“python3.7.3”按鈕,下載Python安裝包,

下載成功的安裝包,如圖1-2所示。

③雙擊圖1-2所示的Python安裝包,進入Python安裝界面,如

圖1-3所示。圖1-2Python安裝包

6.

Python程序設計第1章初識Python

圖1-3選擇安裝方式

圖1-3中為用戶提供了兩種安裝方式。第一種是默認的安裝方式;第二種是自定義安裝方式,

用戶可以自己選擇安裝路徑,靈活選擇啟用或禁用Python的某些功能。

另外,需要特別注意的是,在圖1-3的下方有一個“AddPython3.7toPATH”復選框。

如果勾選該復選框,安裝程序會自動幫助用戶添加環(huán)境變量。如果未勾選,需要用戶手動配

置環(huán)境變量。

④對于新手而言,選擇默認安裝并勾選“AddPython3.7toPATH”復選框即可。安裝

過程如圖1-4所示。

圖1-4安裝過程

⑤安裝過程大約會持續(xù)幾分鐘,然后出現圖1-5所示的安裝成功窗口,單擊“Close”按

鈕完成安裝。

.7

Python程序設計

圖1-5完成安裝

2.配置環(huán)境變量

如果在安裝過程中未勾選圖1-3中的“AddPython3.7toPATH”復選框,則Python

安裝成功后,還需要手動配置環(huán)境變量,具體步驟如下:

①右擊“計算機”圖標,在彈出的快捷菜單中選擇“屬性”菜單項,打開“系統”窗口,

單擊右側的“高級系統設置”超鏈接,彈出“系統屬性”對話框,如圖1-6所示。

②單擊圖1-6中的“環(huán)境變量”按鈕,彈出“環(huán)境變量”對話框,單擊系統環(huán)境變量

“Path”,如圖1-7所示。

圖1-6“系統屬性”對話框圖1-7“環(huán)境變量”對話框

③單擊圖1-7下方的“編輯”按鈕,對環(huán)境變量Path進行編輯,如圖1-8所示。

8.

Python程序設計第1章初識Python

④在Path變量值的尾部加上英文的分號,然后再添加Python的安裝路徑,單擊“確定”

按鈕,完成環(huán)境變量的配置,如圖1-9所示。

圖1-8“編輯系統變量”對話框圖1-9添加Python安裝路徑

安裝Python后,在“開始”菜單的“所有程序”中看到圖1-10所示的新增菜單項。

圖1-10新增的Python3.7菜單項

這4項內容分別是:

●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已經安裝成功,如圖1-11所示。

圖1-11Python版本信息

.9

Python程序設計

1.5.2在Mac平臺搭建Python開發(fā)環(huán)境

MAC系統一般都自帶有Python2.x版本。如果Mac系統的版本號高于OS10.9,那么

系統自帶的Python版本是2.7。只需要在終端輸入Python命令即可運行。

要安裝最新的Python3.7,有兩個方法:

①下載Python3.7的安裝程序,雙擊運行并安裝;

②如果已經安裝了“Homebrew”,則直接通過“brewinstallPython3”命令安裝即可。

1.5.3在Linux平臺搭建Python開發(fā)環(huán)境

大多數Linux系統發(fā)行版都自帶了Python2.x版本。目前最新版的Ubuntu已經自帶了

Python3.x版本。如果Linux系統沒有安裝Python或者只安裝了Python2.x,而需要的是

Python3.x,那么可以自己下載并安裝,具體步驟如下:

①登錄Python官網:/。

②選擇適合于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程序設計第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ā)行版內置的一個簡單小巧的集成開發(fā)環(huán)境(Integrated

DevelopmentEnvironment,IDE),安裝好Python以后,IDLE就自動安裝

好了。IDLE包括了交互式命令行、編輯器、調試器等基本組件,足以應付

大多數簡單應用。IDLE是用Python編寫的,最初的作者正是吉多,它是非

利用IDLE創(chuàng)建

商業(yè)Python開發(fā)和初學者學習Python的最佳選擇之一。并運行Python

程序

1.6.1啟動IDLE

安裝Python后,可以選擇“開始”→“所有程序”→“Python3.7”→“IDLE”命令啟

動IDLE。IDLE啟動后的初始窗口如圖1-14所示。

圖1-14IDLE的交互式編程模式(PythonShell)

.11

Python程序設計

啟動IDLE后,首先出現的是Python

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論