本書從零基礎(chǔ)、初學(xué)者的角度,介紹了Python編程的基礎(chǔ)知識和編程方法。全書共7章,從語言基礎(chǔ)到面向?qū)ο缶幊、再到UI(用戶界面)設(shè)計(jì),共使用了228個(gè)案例貫穿在各個(gè)章節(jié)中。同時(shí),將Python語言特有的數(shù)值、字符串、列表、元組、字典和集合數(shù)據(jù)融入代碼段,以體現(xiàn)案例教學(xué)的特色。本書前6章均附有習(xí)題,供讀者思考和練習(xí)。
第1章簡要介紹了Python語言的發(fā)展歷程、特點(diǎn)和功能,以及安裝環(huán)境、操作使用的步驟;第2章~第6章詳細(xì)介紹了Python的編程語言基礎(chǔ),常用函數(shù)、方法及調(diào)用規(guī)則,程序結(jié)構(gòu)化的流程控制編程方式,面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,創(chuàng)建用戶界面的程序設(shè)計(jì)方法,等等;第7章是綜合實(shí)踐,包括37個(gè)綜合實(shí)踐案例,以幫助讀者快速掌握Python的編程方法。
本書是一本學(xué)習(xí)Python編程的入門教程,可作為高等院校學(xué)生的編程基礎(chǔ)教材和參考書,也可供所有對Python編程感興趣的讀者參考使用。
在以計(jì)算機(jī)為主導(dǎo),大數(shù)據(jù)分析、人工智能廣泛應(yīng)用的今天,Python的簡單易用已使其成為主流的編程語言。Python語言提供了豐富的API(應(yīng)用程序接口)和工具,以便使用者能夠輕松地使用C語言、C 等來編寫擴(kuò)充模塊,編譯器本身也可以被集成到其他需要腳本語言的程序內(nèi),這樣可將多種語言編寫的程序進(jìn)行集成和封裝。Python可幫助我們解決如智能交通、生物信息學(xué)、建筑、地理信息、圖像可視化分析等領(lǐng)域復(fù)雜的數(shù)值計(jì)算及分析問題。
本書以Python 3.10.2為操作平臺,將Python軟件入門與實(shí)際應(yīng)用融為一體,以培養(yǎng)基本的科研素質(zhì)為出發(fā)點(diǎn),設(shè)計(jì)了教學(xué)案例和習(xí)題。書中,附加代碼和運(yùn)行結(jié)果的完整案例有228個(gè),加上各個(gè)函數(shù)的代碼段講解,實(shí)際案例近300個(gè),每個(gè)案例重點(diǎn)部分都做了分析注釋,不僅增加了易讀性,且體現(xiàn)了采用案例教學(xué)講解知識點(diǎn)的特色。后一章是Python編程綜合實(shí)踐,為學(xué)習(xí)實(shí)踐及基礎(chǔ)提高提供依據(jù)。本書涵蓋運(yùn)行環(huán)境使用、常用算法說明、編程基礎(chǔ)知識、結(jié)構(gòu)化編程方法、面向?qū)ο蟮木幊谭椒癠I界面設(shè)計(jì)等內(nèi)容,前6章均附有習(xí)題,以幫助讀者鞏固知識點(diǎn)。
本書以提高軟件操作技能、綜合應(yīng)用和創(chuàng)新能力為目標(biāo),在內(nèi)容上沒有講解理論中的繁雜、抽象計(jì)算,完全從初學(xué)者角度敘述語法環(huán)節(jié)的知識點(diǎn),使用表格列出系統(tǒng)提供的函數(shù)和方法,然后舉例說明其使用步驟。本書從系統(tǒng)環(huán)境下載到使用,引導(dǎo)零基礎(chǔ)的讀者一步一步學(xué)習(xí)編程,從Python的簡單數(shù)值計(jì)算、輸出字符串到一個(gè)完整項(xiàng)目的實(shí)現(xiàn),讀者可從中體驗(yàn)軟件開發(fā)基本過程帶來的樂趣。有一定編程基礎(chǔ)的讀者,通過本書,也可達(dá)到應(yīng)用和提高的目的,工作效率迅速提升。本書不僅是理工科、經(jīng)濟(jì)學(xué)科等專業(yè)讀者學(xué)習(xí)的好幫手,也可作為教授計(jì)算機(jī)語言課程的教師的輔助教科書,書中教學(xué)案例的設(shè)計(jì)思路對于其他語言的教學(xué)也具有借鑒作用。
本書凝聚了作者多年的理論與實(shí)驗(yàn)教學(xué)經(jīng)驗(yàn)。在編寫過程中,作者對編程中的知識點(diǎn)及典型案例進(jìn)行了總結(jié)、添加標(biāo)注,并進(jìn)行結(jié)論說明。限于時(shí)間,書中難免存在一些疏漏,敬請讀者批評指正。
姜增如
2022年6月
第1章 Python概述
1.1 Python的發(fā)展 1
1.2 Python的特點(diǎn) 2
1.3 Python的應(yīng)用及功能 3
1.3.1 Python應(yīng)用 3
1.3.2 Python功能 3
1.4 Windows安裝Python 4
1.4.1 安裝步驟 4
1.4.2 注意事項(xiàng) 6
1.5 Python編輯與運(yùn)行 6
1.5.1 通過交互式解釋器命令行窗口編輯運(yùn)行 6
1.5.2 通過Python集成開發(fā)環(huán)境編程并執(zhí)行 7
1.5.3 通過記事本編輯及運(yùn)行 8
1.5.4 通過PyCharm編輯運(yùn)行 9
1.6 簡單Python程序案例 14
1.6.1 編程案例 14
1.6.2 編程注意事項(xiàng) 15
1.7 練習(xí)題 15
第2章 Python語法知識
2.1 Python輸入/輸出 16
2.1.1 輸入 16
2.1.2 輸出 17
2.2 Python變量及其使用 21
2.2.1 常量 21
2.2.2 變量 21
2.3 代碼行書寫格式 22
2.3.1 格式縮進(jìn) 22
2.3.2 多行語句與空行 23
2.3.3 Python賦值與注釋語句 24
2.3.4 Python導(dǎo)入模塊的方法 25
2.4 Python標(biāo)準(zhǔn)數(shù)據(jù)類型及基本使用 25
2.4.1 數(shù)值類型及基本使用 26
2.4.2 字符串類型及基本使用 26
2.4.3 列表類型及基本使用 27
2.4.4 元組類型及基本使用 28
2.4.5 字典類型及基本使用 29
2.4.6 集合類型及基本使用 31
2.5 運(yùn)算符與表達(dá)式 31
2.5.1 算術(shù)運(yùn)算符及使用 32
2.5.2 關(guān)系運(yùn)算符及使用 32
2.5.3 邏輯運(yùn)算符及使用 33
2.5.4 復(fù)合賦值運(yùn)算符及使用 34
2.5.5 位運(yùn)算符及使用 34
2.5.6 字符串運(yùn)算符及使用 35
2.5.7 成員運(yùn)算符及使用 36
2.5.8 身份運(yùn)算符及使用 37
2.5.9 運(yùn)算符的優(yōu)先級 37
2.6 練習(xí)題 39
2.6.1 問答 39
2.6.2 選擇 39
2.6.3 填空 40
2.6.4 實(shí)踐項(xiàng)目 40
第3章 Python常用函數(shù)與常用方法
3.1 常用數(shù)學(xué)函數(shù)及使用 43
3.1.1 常用數(shù)學(xué)函數(shù) 43
3.1.2 數(shù)學(xué)函數(shù)的使用 44
3.1.3 三角函數(shù)及使用 45
3.1.4 隨機(jī)函數(shù)及使用 46
3.2 字符串函數(shù)及使用 47
3.2.1 常規(guī)字符串操作的使用 47
3.2.2 字符串判斷操作 48
3.2.3 split()與map()函數(shù)的使用 49
3.3 轉(zhuǎn)換函數(shù)及使用 51
3.3.1 ASCII碼及進(jìn)制轉(zhuǎn)換函數(shù) 51
3.3.2 類型轉(zhuǎn)換函數(shù) 51
3.4 組合數(shù)據(jù)類型函數(shù)及使用 52
3.4.1 Python列表函數(shù)及方法的使用 52
3.4.2 Python元組函數(shù)及使用 56
3.4.3 Python字典函數(shù)及使用 58
3.4.4 Python集合的使用 60
3.4.5 其他常用函數(shù)及使用 62
3.4.6 系統(tǒng)模塊庫 63
3.4.7 時(shí)間和日期函數(shù)及使用 65
3.4.8 匿名函數(shù) 68
3.5 函數(shù)及調(diào)用規(guī)則 69
3.5.1 自定義函數(shù)及使用 69
3.5.2 函數(shù)調(diào)用 70
3.5.3 函數(shù)傳遞 71
3.5.4 函數(shù)參數(shù)與返回值 72
3.5.5 遞歸函數(shù) 76
3.5.6 全局變量與局部變量 77
3.6 練習(xí)題 79
3.6.1 問答 79
3.6.2 填空 80
3.6.3 實(shí)踐項(xiàng)目 80
第4章 Python流程控制
4.1 程序算法及描述 82
4.1.1 算法 82
4.1.2 程序算法流程圖 84
4.2 順序結(jié)構(gòu)及使用 87
4.3 選擇結(jié)構(gòu)及使用 87
4.3.1 if…else結(jié)構(gòu)的使用 87
4.3.2 if…else結(jié)構(gòu)的嵌套 91
4.3.3 match…case結(jié)構(gòu)的使用 93
4.4 簡單循環(huán)結(jié)構(gòu)及使用 94
4.4.1 while循環(huán)的使用 95
4.4.2 while…else結(jié)構(gòu)的使用 96
4.4.3 for循環(huán)的使用 97
4.4.4 for…else結(jié)構(gòu)的使用 100
4.4.5 continue、break與pass語句 101
4.5 嵌套循環(huán)結(jié)構(gòu)及使用 104
4.5.1 嵌套循環(huán)結(jié)構(gòu) 104
4.5.2 嵌套循環(huán)案例及分析 105
4.6 遞歸的使用 112
4.7 練習(xí)題 114
4.7.1 選擇 114
4.7.2 填空 115
4.7.3 閱讀程序?qū)懡Y(jié)果 115
4.7.4 實(shí)踐項(xiàng)目 118
第5章 面向?qū)ο蟪绦蛟O(shè)計(jì)方法
5.1 面向?qū)ο蠹夹g(shù)簡介 119
5.1.1 面向?qū)ο蟮母拍? 119
5.1.2 面向?qū)ο筇卣? 120
5.2 類的概念及使用 121
5.2.1 類的描述 121
5.2.2 類和對象的區(qū)別 121
5.2.3 對象屬性和方法 122
5.2.4 類的使用 122
5.3 類的封裝、繼承和多態(tài) 129
5.3.1 封裝 129
5.3.2 繼承 131
5.3.3 Python多重繼承 136
5.3.4 多態(tài) 139
5.4 文件操作 140
5.4.1 打開文件 140
5.4.2 文件操作函數(shù)和方法 141
5.5 異常處理機(jī)制 145
5.5.1 異常處理 145
5.5.2 異常處理結(jié)構(gòu) 147
5.6 包和模塊 150
5.6.1 包和模塊的含義 150
5.6.2 包和模塊引入 151
5.6.3 Main函數(shù)的作用 151
5.7 練習(xí)題 153
5.7.1 問答 153
5.7.2 實(shí)踐項(xiàng)目 154
第6章 Python的UI設(shè)計(jì)
6.1 圖形化用戶界面設(shè)計(jì)的基本理解 155
6.2 組件、屬性及使用 156
6.2.1 常用組件 156
6.2.2 組件標(biāo)準(zhǔn)屬性 157
6.2.3 tkinter編程 158
6.2.4 對象調(diào)用及設(shè)置 158
6.3 tkinter布局方式 159
6.3.1 簡單布局 159
6.3.2 表格布局 161
6.3.3 絕對位置布局 162
6.4 組件的使用 163
6.4.1 標(biāo)簽(Label)組件的使用 164
6.4.2 文本框(Text)和(Entry)組件的使用 164
6.4.3 按鈕(Button)組件的使用 167
6.4.4 單選框(Radiobutton)組件的使用 170
6.4.5 復(fù)選框(Checkbutton)組件的使用 171
6.4.6 框架(Frame)組件的使用 174
6.4.7 列表框(Listbox)組件的使用 175
6.4.8 組合框(Combobox)組件的使用 177
6.4.9 滑塊(Scale)組件的使用 179
6.5 菜單及對話框的使用 180
6.5.1 創(chuàng)建菜單的方法 180
6.5.2 主菜單的使用 181
6.5.3 子窗體的使用 183
6.5.4 消息對話框的使用 184
6.5.5 人機(jī)交互、文件選擇、顏色選擇對話框的使用 186
6.6 事件的使用 189
6.6.1 事件的描述 189
6.6.2 事件的使用案例 190
6.7 繪圖(Canvas)的使用 192
6.7.1 圖形繪制方法 192
6.7.2 繪圖案例 194
6.8 練習(xí)題 198
6.8.1 問答 198
6.8.2 實(shí)踐項(xiàng)目 198
第7章 Python編程綜合實(shí)踐
7.1 數(shù)據(jù)類型與表達(dá)式的使用 200
7.2 條件與循環(huán)綜合設(shè)計(jì) 204
7.3 游戲程序設(shè)計(jì) 210
7.4 面向?qū)ο蟪绦蛟O(shè)計(jì) 212
7.5 UI綜合設(shè)計(jì) 217