隨著數(shù)據(jù)時代的來臨,Python語言已逐漸成為國內(nèi)外廣泛使用的計算機編程語言之一,學(xué)會使用Python語言進行程序設(shè)計是從事計算機類工作者的一項基本技能。本書共分10章,比較全面地介紹了Python語言的基本語法及編程技巧,主要內(nèi)容包括Python概述,數(shù)據(jù)運算,程序控制結(jié)構(gòu),列表、元組和字典,函數(shù),模塊,文件操作,異常處理,面向?qū)ο蟪绦蛟O(shè)計,常用擴展庫等。通過本書的學(xué)習(xí),讀者基本上可以掌握Python語言的主要內(nèi)容和使用方法,同時也可學(xué)到程序設(shè)計的方法及初級算法的知識,初步掌握利用計算機編程解決問題的全過程。
本書適合作為高等院校各專業(yè)學(xué)習(xí)Python語言的入門教材,也可作為Python語言程序開發(fā)人員的自學(xué)教材或參考用書。
本書的主要特色是以zui新的Python版本為例介紹Python語言編程的基本技術(shù),示例代碼豐富,在后期將考慮錄制微課作為本教材的輔助導(dǎo)學(xué)導(dǎo)教資源。
Life is short, you need Python!這是關(guān)于Python的一句經(jīng)典的、富有情懷的話,很多Python開發(fā)者都是從這句話開始學(xué)習(xí)、掌握并愛上這門語言的。Python語法簡單,入門非常容易,如果是從零開始學(xué)習(xí)編程,Python是一種不錯的選擇。Python也被稱為是一種膠水語言,可以方便地調(diào)用其他語言編寫的功能模塊,并將它們有機地結(jié)合在一起形成更高效的新程序。Python簡潔的語法和對動態(tài)輸入的支持,再加上解釋性語言的特性,使得它在許多領(lǐng)域都是一種理想的腳本語言,特別適用于快速應(yīng)用程序開發(fā)。當前,Python已被廣泛應(yīng)用于眾多領(lǐng)域,如:科學(xué)計算、數(shù)據(jù)分析、Web開發(fā)、系統(tǒng)運維、機器學(xué)習(xí)、人工智能等。正是其開源、簡單、易用的特點,近年來吸引了越來越多的開發(fā)者使用這門語言。本書在編寫過程中,充分考慮到讀者的認知規(guī)律,采用通俗易懂的語言,同時考慮培養(yǎng)讀者的計算思維能力,輔以較多的案例,啟發(fā)讀者的思維。全書共分10章,其中,第1章介紹了Python的發(fā)展歷史及其廣泛的應(yīng)用領(lǐng)域,分析了Python自身的優(yōu)點和不足之處,zui后以當前較新的版本為例,介紹了Python的安裝以及相關(guān)開發(fā)工具的安裝和使用。第2章主要介紹了Python中的變量、常量及命名規(guī)則,幾種基本的數(shù)據(jù)類型,以及7種不同操作符和相應(yīng)的表達式運算。第3章介紹了Python語言的3種常見的程序控制結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。第4章介紹了Python中的列表、元組、字典和集合等幾種特殊數(shù)據(jù)類型,以及相應(yīng)的基本操作。第5章介紹了函數(shù)的基本概念、Python語言中函數(shù)的定義和調(diào)用過程,以及常用的內(nèi)置函數(shù)。第6章介紹了模塊的概念以及導(dǎo)入、發(fā)布和安裝過程。第7章介紹了文件的相關(guān)操作,包括文件的定義、打開、關(guān)閉以及讀/寫等操作。第8章介紹了異常的類型及相關(guān)處理方法,包括異常的捕獲和處理方法、Python提供的異常類型,以及通過不同的異常類型來改進程序設(shè)計的方法。第9章介紹了Python面向?qū)ο蟪绦蛟O(shè)計相關(guān)知識,包括類的聲明方式以及封裝、繼承、多態(tài)等方面的知識。第10章介紹了常用擴展庫,如NumPy、Scipy、Pandas、Matpcotlib、Scikitcearn等。本書適合作為高等院校各專業(yè)學(xué)習(xí)Python語言的入門教材,也可作為Python語言程序開發(fā)人員的自學(xué)教材或參考用書。本書由劉曉勇、付輝主編,其中第1章、第6~10章、附錄由劉曉勇編寫,第2~5章由付輝編寫。本書在編寫過程中,得到廣東技術(shù)師范學(xué)院教務(wù)處及計算機科學(xué)學(xué)院相關(guān)領(lǐng)導(dǎo)的大力支持和鼓勵;在出版過程中,中國鐵道出版社的編輯付出了艱辛的努力,并給予了無私的幫助,在此一并表示感謝。由于時間倉促,加之編者能力和學(xué)識有限,在編寫過程中雖然已經(jīng)盡了zui大努力,但仍難免存在疏漏與不妥之處,懇請讀者批評指正。
編 者 2018年10月于廣州
劉曉勇,博士,副教授,碩士研究生導(dǎo)師,就職于廣東技術(shù)師范學(xué)院,廣東省本科高校計算機類專業(yè)教指委委員,廣東省產(chǎn)教融合發(fā)展大數(shù)據(jù)工程技術(shù)研究中心主任,主要研究方向是數(shù)據(jù)挖掘與智能優(yōu)化算法,主持省級科研課題4項,主持省級教研類課題三項,發(fā)表SCI、EI檢索論文20多篇。
付輝,副教授,就職于廣東技術(shù)師范學(xué)院,主要研究方向數(shù)據(jù)挖掘。主講課程:Python程序設(shè)計。
第1章 Python概述 1
1.1 Python簡史 1
1.2 Python的應(yīng)用領(lǐng)域 2
1.3 Python的特點 3
1.4 Python安裝及開發(fā)環(huán)境構(gòu)建 4
1.4.1 Python 3.6.5下載與安裝 4
1.4.2 Anaconda下載與安裝 8
1.4.3 開發(fā)工具Spyder 12
1.4.4 開發(fā)工具PyCharm 13
小結(jié) 19
習(xí)題 19
第2章 數(shù)據(jù)運算 20
2.1 變量與常量 20
2.1.1 標識符 20
2.1.2 關(guān)鍵字 20
2.1.3 轉(zhuǎn)義字符 21
2.1.4 常量 22
2.1.5 變量 23
2.2 基本數(shù)據(jù)類型 24
2.2.1 數(shù)值型 24
2.2.2 布爾型 25
2.2.3 字符串 25
2.2.4 復(fù)數(shù)類型 28
2.2.5 空值 29
2.3 操作符和表達式 30
2.3.1 算術(shù)操作符和表達式 30
2.3.2 關(guān)系操作符和表達式 31
2.3.3 賦值操作符和表達式 32
2.3.4 邏輯操作符和表達式 33
2.3.5 位操作符和表達式 33
2.3.6 身份操作符和表達式 34
2.3.7 成員操作符和表達式 35
2.3.8 操作符的優(yōu)先級 36
小結(jié) 37
習(xí)題 37
第3章 程序控制結(jié)構(gòu) 38
3.1 程序設(shè)計過程 38
3.1.1 程序設(shè)計結(jié)構(gòu) 38
3.1.2 程序流程圖 38
3.2 順序結(jié)構(gòu) 38
3.2.1 行與縮進 39
3.2.2 語句換行 39
3.2.3 注釋 40
3.2.4 輸入語句 40
3.2.5 輸出語句 41
3.2.6 順序結(jié)構(gòu)舉例 43
3.3 選擇結(jié)構(gòu) 44
3.3.1 單分支選擇結(jié)構(gòu) 44
3.3.2 多分支選擇結(jié)構(gòu) 45
3.3.3 三元表達式 47
3.3.4 選擇結(jié)構(gòu)舉例 47
3.4 循環(huán)結(jié)構(gòu) 48
3.4.1 while語句 48
3.4.2 for語句 49
3.4.3 循環(huán)嵌套 49
3.4.4 循環(huán)控制語句 50
3.4.5 循環(huán)結(jié)構(gòu)舉例 52
小結(jié) 53
習(xí)題 53
第4章 列表、元組和字典 55
4.1 列表 55
4.1.1 訪問列表元素 55
4.1.2 更新列表元素 56
4.1.3 刪除列表元素 56
4.1.4 列表腳本操作符 56
4.1.5 截取列表 57
4.1.6 列表常用內(nèi)置函數(shù)和方法 57
4.2 元組 58
4.2.1 訪問元組元素 58
4.2.2 修改元組元素 59
4.2.3 刪除元組 59
4.2.4 元組運算符 59
4.2.5 元組索引、截取 60
4.2.6 無關(guān)閉分隔符 60
4.2.7 元組常用內(nèi)置函數(shù) 60
4.3 字典 61
4.3.1 訪問字典元素 61
4.3.2 修改字典 62
4.3.3 刪除字典元素 62
4.3.4 字典鍵的特性 62
4.3.5 字典常用內(nèi)置函數(shù)和
方法 63
4.4 集合 64
4.4.1 可變集合 64
4.4.2 凍結(jié)集合 67
4.4.3 集合的操作 71
小結(jié) 73
習(xí)題 73
第5章 函數(shù) 74
5.1 函數(shù)的概念 74
5.2 函數(shù)的定義 74
5.3 函數(shù)的調(diào)用 76
5.3.1 函數(shù)調(diào)用的形式 76
5.3.2 函數(shù)調(diào)用時的數(shù)據(jù)傳遞 76
5.3.3 函數(shù)調(diào)用的過程 77
5.4 匿名函數(shù) 77
5.5 局部變量和全局變量 78
5.5.1 局部變量 78
5.5.2 全局變量 79
5.6 Python常用內(nèi)置函數(shù) 80
小結(jié) 81
習(xí)題 81
第6章 模塊 83
6.1 模塊的概念 83
6.2 模塊的導(dǎo)入 83
6.3 模塊的發(fā)布 85
6.4 模塊的安裝 86
6.5 Python中的標準庫模塊 86
小結(jié) 87
習(xí)題 87
第7章 文件操作 88
7.1 文件的定義 88
7.2 文件的打開和關(guān)閉 88
7.2.1 文件打開 88
7.2.2 文件關(guān)閉 90
7.3 文件的寫入和讀取 91
7.3.1 寫入文件 91
7.3.2 讀取文件 92
7.4 其他操作 93
7.4.1 文件定位 93
7.4.2 重命名和刪除文件 95
7.4.3 目錄操作 95
小結(jié) 96
習(xí)題 97
第8章 異常處理 98
8.1 異常的類型 98
8.2 異常的捕獲及處理 100
小結(jié) 106
習(xí)題 106
第9章 面向?qū)ο蟪绦蛟O(shè)計 107
9.1 面向?qū)ο蟮幕靖拍?107
9.2 類的聲明及對象的創(chuàng)建 108
9.2.1 聲明類 108
9.2.2 創(chuàng)建對象 108
9.2.3 訪問限制 109
9.3 封裝 110
9.4 繼承 112
9.5 多態(tài) 114
小結(jié) 115
習(xí)題 115
第10章 常用擴展庫 117
10.1 NumPy簡介 117
10.1.1 NumPy數(shù)組 117
10.1.2 NumPy基本運算 121
10.2 SciPy簡介 124
10.3 Pandas簡介 127
10.3.1 Series在 128
10.3.2 DataFrame的 131
10.4 Matplotlib簡介 133
10.4.1 快速繪圖 133
10.4.2 繪制其他圖形 135
10.5 Scikit-learn簡介 137
小結(jié) 141
習(xí)題 141
附錄A 常用標準庫模塊 142
附錄B Python內(nèi)置函數(shù) 150
參考文獻 151