隨著數(shù)據時代的來臨,Python語言已逐漸成為國內外廣泛使用的計算機編程語言之一,學會使用Python語言進行程序設計是從事計算機類工作者的一項基本技能。本書共分10章,比較全面地介紹了Python語言的基本語法及編程技巧,主要內容包括Python概述,數(shù)據運算,程序控制結構,列表、元組和字典,函數(shù),模塊,文件操作,異常處理,面向對象程序設計,常用擴展庫等。通過本書的學習,讀者基本上可以掌握Python語言的主要內容和使用方法,同時也可學到程序設計的方法及初級算法的知識,初步掌握利用計算機編程解決問題的全過程。
本書適合作為高等院校各專業(yè)學習Python語言的入門教材,也可作為Python語言程序開發(fā)人員的自學教材或參考用書。
本書的主要特色是以zui新的Python版本為例介紹Python語言編程的基本技術,示例代碼豐富,在后期將考慮錄制微課作為本教材的輔助導學導教資源。
Life is short, you need Python!這是關于Python的一句經典的、富有情懷的話,很多Python開發(fā)者都是從這句話開始學習、掌握并愛上這門語言的。Python語法簡單,入門非常容易,如果是從零開始學習編程,Python是一種不錯的選擇。Python也被稱為是一種膠水語言,可以方便地調用其他語言編寫的功能模塊,并將它們有機地結合在一起形成更高效的新程序。Python簡潔的語法和對動態(tài)輸入的支持,再加上解釋性語言的特性,使得它在許多領域都是一種理想的腳本語言,特別適用于快速應用程序開發(fā)。當前,Python已被廣泛應用于眾多領域,如:科學計算、數(shù)據分析、Web開發(fā)、系統(tǒng)運維、機器學習、人工智能等。正是其開源、簡單、易用的特點,近年來吸引了越來越多的開發(fā)者使用這門語言。本書在編寫過程中,充分考慮到讀者的認知規(guī)律,采用通俗易懂的語言,同時考慮培養(yǎng)讀者的計算思維能力,輔以較多的案例,啟發(fā)讀者的思維。全書共分10章,其中,第1章介紹了Python的發(fā)展歷史及其廣泛的應用領域,分析了Python自身的優(yōu)點和不足之處,zui后以當前較新的版本為例,介紹了Python的安裝以及相關開發(fā)工具的安裝和使用。第2章主要介紹了Python中的變量、常量及命名規(guī)則,幾種基本的數(shù)據類型,以及7種不同操作符和相應的表達式運算。第3章介紹了Python語言的3種常見的程序控制結構,即順序結構、選擇結構和循環(huán)結構。第4章介紹了Python中的列表、元組、字典和集合等幾種特殊數(shù)據類型,以及相應的基本操作。第5章介紹了函數(shù)的基本概念、Python語言中函數(shù)的定義和調用過程,以及常用的內置函數(shù)。第6章介紹了模塊的概念以及導入、發(fā)布和安裝過程。第7章介紹了文件的相關操作,包括文件的定義、打開、關閉以及讀/寫等操作。第8章介紹了異常的類型及相關處理方法,包括異常的捕獲和處理方法、Python提供的異常類型,以及通過不同的異常類型來改進程序設計的方法。第9章介紹了Python面向對象程序設計相關知識,包括類的聲明方式以及封裝、繼承、多態(tài)等方面的知識。第10章介紹了常用擴展庫,如NumPy、Scipy、Pandas、Matpcotlib、Scikitcearn等。本書適合作為高等院校各專業(yè)學習Python語言的入門教材,也可作為Python語言程序開發(fā)人員的自學教材或參考用書。本書由劉曉勇、付輝主編,其中第1章、第6~10章、附錄由劉曉勇編寫,第2~5章由付輝編寫。本書在編寫過程中,得到廣東技術師范學院教務處及計算機科學學院相關領導的大力支持和鼓勵;在出版過程中,中國鐵道出版社的編輯付出了艱辛的努力,并給予了無私的幫助,在此一并表示感謝。由于時間倉促,加之編者能力和學識有限,在編寫過程中雖然已經盡了zui大努力,但仍難免存在疏漏與不妥之處,懇請讀者批評指正。
編 者 2018年10月于廣州
劉曉勇,博士,副教授,碩士研究生導師,就職于廣東技術師范學院,廣東省本科高校計算機類專業(yè)教指委委員,廣東省產教融合發(fā)展大數(shù)據工程技術研究中心主任,主要研究方向是數(shù)據挖掘與智能優(yōu)化算法,主持省級科研課題4項,主持省級教研類課題三項,發(fā)表SCI、EI檢索論文20多篇。
付輝,副教授,就職于廣東技術師范學院,主要研究方向數(shù)據挖掘。主講課程:Python程序設計。
第1章 Python概述 1
1.1 Python簡史 1
1.2 Python的應用領域 2
1.3 Python的特點 3
1.4 Python安裝及開發(fā)環(huán)境構建 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
小結 19
習題 19
第2章 數(shù)據運算 20
2.1 變量與常量 20
2.1.1 標識符 20
2.1.2 關鍵字 20
2.1.3 轉義字符 21
2.1.4 常量 22
2.1.5 變量 23
2.2 基本數(shù)據類型 24
2.2.1 數(shù)值型 24
2.2.2 布爾型 25
2.2.3 字符串 25
2.2.4 復數(shù)類型 28
2.2.5 空值 29
2.3 操作符和表達式 30
2.3.1 算術操作符和表達式 30
2.3.2 關系操作符和表達式 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
小結 37
習題 37
第3章 程序控制結構 38
3.1 程序設計過程 38
3.1.1 程序設計結構 38
3.1.2 程序流程圖 38
3.2 順序結構 38
3.2.1 行與縮進 39
3.2.2 語句換行 39
3.2.3 注釋 40
3.2.4 輸入語句 40
3.2.5 輸出語句 41
3.2.6 順序結構舉例 43
3.3 選擇結構 44
3.3.1 單分支選擇結構 44
3.3.2 多分支選擇結構 45
3.3.3 三元表達式 47
3.3.4 選擇結構舉例 47
3.4 循環(huán)結構 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)結構舉例 52
小結 53
習題 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 列表常用內置函數(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 無關閉分隔符 60
4.2.7 元組常用內置函數(shù) 60
4.3 字典 61
4.3.1 訪問字典元素 61
4.3.2 修改字典 62
4.3.3 刪除字典元素 62
4.3.4 字典鍵的特性 62
4.3.5 字典常用內置函數(shù)和
方法 63
4.4 集合 64
4.4.1 可變集合 64
4.4.2 凍結集合 67
4.4.3 集合的操作 71
小結 73
習題 73
第5章 函數(shù) 74
5.1 函數(shù)的概念 74
5.2 函數(shù)的定義 74
5.3 函數(shù)的調用 76
5.3.1 函數(shù)調用的形式 76
5.3.2 函數(shù)調用時的數(shù)據傳遞 76
5.3.3 函數(shù)調用的過程 77
5.4 匿名函數(shù) 77
5.5 局部變量和全局變量 78
5.5.1 局部變量 78
5.5.2 全局變量 79
5.6 Python常用內置函數(shù) 80
小結 81
習題 81
第6章 模塊 83
6.1 模塊的概念 83
6.2 模塊的導入 83
6.3 模塊的發(fā)布 85
6.4 模塊的安裝 86
6.5 Python中的標準庫模塊 86
小結 87
習題 87
第7章 文件操作 88
7.1 文件的定義 88
7.2 文件的打開和關閉 88
7.2.1 文件打開 88
7.2.2 文件關閉 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
小結 96
習題 97
第8章 異常處理 98
8.1 異常的類型 98
8.2 異常的捕獲及處理 100
小結 106
習題 106
第9章 面向對象程序設計 107
9.1 面向對象的基本概念 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
小結 115
習題 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
小結 141
習題 141
附錄A 常用標準庫模塊 142
附錄B Python內置函數(shù) 150
參考文獻 151