本書系統(tǒng)全面地介紹了Python語言基礎與常用算法思想。全書共分為12章,內容包括Python概述,Python基礎語法,程序的基本結構,組合數據類型,函數,面向對象,文件操作,tkinter GUI編程,數據處理,數據可視化,爬取與分析網頁數據,SQLite數據庫操作。本書免費提供配套的教學資源,包括電子課件、習題答案、實驗素材等,便于大家開展教學和上機實驗。 本書內容豐富,結構清晰,案例準確易懂,在講述基本理論知識的同時,注重操作技能和解決實際問題能力的培養(yǎng)。本書案例豐富,突出了實用性和專業(yè)性,從程序設計基本概念出發(fā),通過大量示例由淺入深、循序漸進地講述Python程序設計的基本概念和基本方法。 本書適合作為應用型本科和高職高專層次計算機相關信息技術類專業(yè)的基礎教材,也可作為各類培訓班的培訓教材。本書封面貼有清華大學出版社防偽標簽,無標簽者不得銷售。
本書配套有電子課件、習題答案、實驗素材等教學資源,更便于教學和上機實驗。
計算機程序設計是高校計算機各專業(yè)教學的核心課程,它是以高級程序設計語言作為工具,介紹程序設計的思想和方法,為后續(xù)相關計算機課程的學習奠定基礎。因而計算機程序設計課程也是計算思維能力培養(yǎng)的重要載體,有助于學生理解計算機求解問題的基本思想和方法,是訓練學生使用計算機編程解決實際問題的重要手段。計算機程序設計課程已經成為對學生進行計算思維能力培養(yǎng)較直接、較具操作性的課程。
Python語言是一種解釋運行、面向對象、擴展性較強的程序設計語言,是學生學習計算機編程及理解計算機解決問題的有效工具。本書通過大量精選實例講解程序設計的思想和方法,并穿插介紹相關的語言知識,從而培養(yǎng)學生的程序設計能力。本書有以下主要特點。
(1) 適合教學。本書參照教育部2015年11月相關規(guī)定中對大學計算機基礎課程教學的基本要求,并結合當前Python的發(fā)展和應用現狀編寫而成。本書以程序設計初學者為教學對象,從程序設計基本概念出發(fā),通過大量實例由淺入深、循序漸進地講述Python程序設計的基本概念和方法。
(2) 校企結合共同編寫。本書由教學一線的高校教師與企業(yè)專家(北京新大陸時代教育科技有限公司張正球)共同策劃、編寫。本書編者注重理論與實踐相結合,不僅有基礎的理論知識,而且通過大量的實例詳細地講述Python程序設計的相關內容。本書內容簡單易懂、層次脈絡清晰、技術難度適中,難易點安排恰當,非常適合教學。
(3) 章節(jié)內容結構合理。本書按照學生學習知識的規(guī)律,并按照Python語言和計算思維的相關概念組織各章節(jié)內容。每章均按照語法描述、示例講解和編程實現的邏輯來介紹程序設計的方法,有利于學生提高學習效率。本書具體內容如下: 第1章是Python概述,第2章講解Python基礎語法,第3章講解程序設計,第4章講解Python獨有的組合數據類型,第5章講解函數,第6章講解面向對象編程,第7章講解文件操作,第8章講解thinter GUI編程,第9章講解數據處理,第10章講解數據可視化,第11章講解爬取與分析網頁數據,第12章講解SQLite數據庫操作。在每章的介紹中,先總結出相關的操作方法,以幫助學生理解。
(4) 知識技術全面準確。本書主要針對高等院校相關專業(yè)初學程序設計的學生,書中詳細介紹了Python語言的各種規(guī)則和規(guī)范,可以幫助學生全面掌握這門語言,從而設計出規(guī)范的程序代碼。
(5) 配套教學資源豐富。本書配套有電子課件、習題答案、實驗素材等教學資源,便于教學和上機實驗。本書采用Python 3.8 IDLE 64位版本作為上機環(huán)境。
本書由張治斌主編,具體分工如下: 張治斌編寫第1~4章,任憲臻編寫第5~7章,張正求編寫第8章和第9章,鄭淑暉編寫第10章和第11章,劉克純編寫第12章。全書由張治斌統(tǒng)編定稿。本書在編寫過程中參考了大量相關資料,在此對相關作者表示衷心的感謝。
由于作者水平有限,書中難免有不足之處,懇請讀者批評指正。
編者2021年3月
張治斌,自2004年參加工作以來,長期從事高職軟件技術、大數據技術與應用專業(yè)教學工作,2014年6月,獲得北京市職業(yè)院校優(yōu)秀青年骨干教師稱號,承擔多門專業(yè)課授課工作,指導學生參加各類職業(yè)技能大賽多次獲獎:藍橋杯全國軟件設計大賽獲得二等獎,指導全國高職院校技術技能軟件測試賽項北京賽區(qū)一等獎;主編及參編多部教材(見寫作經歷表),在核心及期刊公開發(fā)表論文20余篇,主持、參與多項省部級以上課題及項目,近五年主要主持及參與項目如下:
1.國家職教計算機應用技術專業(yè)教學資源庫-數據挖掘課程子項目(負責人)
2. 《Web前端開發(fā)》1 X證書試點培訓、取證(主要負責人)
3.《大數據技術與應用專業(yè)專業(yè)教學標準》開發(fā)(主要參與)
4.《計算機應用技術專業(yè)專業(yè)教學標準》開發(fā)(主要參與)
5.《大數據技術與應用本科層次職業(yè)教育試點專業(yè)簡介》(主持編寫)
6.《軟件工程本科層次職業(yè)教育試點專業(yè)簡介》(主持編寫)
7.大數據技術與應用專業(yè)職業(yè)教育教師教學創(chuàng)新團隊(主要參與)
8.工信部《計算機程序設計員職業(yè)技能標準》開發(fā)(主要參與)
9. 北京市教育信息化融合創(chuàng)新雙百示范項目創(chuàng)新課題(負責人)
第1章Python概述/1
1.1Python語言簡介1
1.1.1Python的誕生1
1.1.2Python的優(yōu)缺點2
1.1.3Python的應用領域3
1.1.4Python發(fā)展歷史4
1.2安裝與配置Python程序開發(fā)環(huán)境4
1.2.1IDLE的下載與安裝4
1.2.2Python的菜單選擇和啟動6
1.2.3在IDLE中編輯、運行程序9
1.2.4配置基本IDLE15
1.3習題18
第2章Python基礎語法/20
2.1基本數據類型20
2.1.1數值類型20
2.1.2字符串類型23
2.2標識符和保留字符25
2.2.1標識符25
2.2.2關鍵字25
2.3變量和常量27
2.3.1變量27
2.3.2常量28
2.4運算符和表達式29
2.4.1算術運算符和算術表達式29
2.4.2關系運算符和關系表達式31
2.4.3邏輯運算符和邏輯表達式32
2.4.4賦值運算符和賦值表達式33
2.4.5運算符的優(yōu)先級34
2.5語句35
2.6Python PEP8編碼規(guī)范37
2.7習題39
第3章程序的基本結構/41
3.1順序結構41
3.1.1輸出函數print()41
3.1.2輸入函數input()44
3.1.3注釋語句45
3.1.4順序結構程序實例45
3.2選擇結構46
3.2.1if語句46
3.2.2ifelse條件語句47
3.2.3ifelifelse語句48
3.3循環(huán)結構49
3.3.1while循環(huán)語句49
3.3.2for循環(huán)語句51
3.3.3循環(huán)的嵌套53
3.3.4break語句、continue語句和pass語句54
3.3.5循環(huán)中的else語句56
3.4習題57
第4章組合數據類型/59
4.1列表59
4.1.1創(chuàng)建列表對象和列表變量59
4.1.2列表的基本操作61
4.1.3列表的內置函數65
4.1.4嵌套列表66
4.2元組67
4.2.1創(chuàng)建元組對象和元組變量67
4.2.2元組的基本操作69
4.2.3元組與列表的轉換70
4.3字典70
4.3.1創(chuàng)建字典對象和字典變量71
4.3.2字典的基本操作72
4.3.3字典的常用方法74
4.4集合78
4.4.1創(chuàng)建集合對象和集合變量78
4.4.2集合的基本操作81
4.4.3集合的常用方法81
4.4.4集合的運算82
4.5習題86
第5章函數/88
5.1函數的定義與調用88
5.1.1函數的定義88
5.1.2函數的調用89
5.2參數的傳遞和函數的返回值91
5.2.1參數的傳遞91
5.2.2函數的返回值95
5.3嵌套函數、遞歸函數和lambda函數96
5.3.1嵌套函數96
5.3.2遞歸函數98
5.3.3lambda函數100
5.4變量作用域102
5.4.1局部變量102
5.4.2全局變量103
5.5內置函數106
5.5.1數學運算函數106
5.5.2字符串運算函數和方法107
5.5.3轉換函數109
5.5.4序列操作函數109
5.6習題110
第6章面向對象/112
6.1類和對象112
6.1.1定義類112
6.1.2類成員112
6.1.3創(chuàng)建對象115
6.1.4構造方法117
6.1.5在類的內部調用實例方法121
6.1.6類變量和實例變量121
6.1.7實例方法、類方法和靜態(tài)方法123
6.2類的封裝126
6.2.1用私有變量、私有方法實現封裝126
6.2.2用@property裝飾器定義屬性實現封裝127
6.3類的繼承132
6.3.1繼承的實現132
6.3.2重寫方法133
6.3.3派生屬性或方法136
6.3.4多重繼承137
6.3.5isinstance()和issubclass()函數137
6.4類的多態(tài)138
6.4.1多態(tài)的實現138
6.4.2多態(tài)性139
6.5習題140
第7章文件操作/143
7.1文件的打開和關閉143
7.1.1打開文件的函數143
7.1.2關閉、寫緩沖文件的方法147
7.2文件的讀/寫操作148
7.2.1讀取文件中的數據148
7.2.2向文件中寫入數據151
7.2.3在文件中定位153
7.2.4二進制文件的讀/寫157
7.3CSV文件158
7.3.1CSV文件簡介158
7.3.2向CSV文件中寫入和讀取一維數據159
7.3.3向CSV文件中寫入和讀取二維數據160
7.4習題163
第8章tkinter GUI編程/165
8.1tkinter編程概述165
8.1.1導入tkinter庫165
8.1.2用tkinter庫創(chuàng)建GUI應用程序的步驟165
8.2tkinter的主窗體166
8.3tkinter GUI的布局管理169
8.3.1用pack()方法布局169
8.3.2用grid()方法布局172
8.3.3用place()方法布局174
8.4tkinter的常用控件176
8.4.1tkinter庫中提供的常用控件及添加方法176
8.4.2控件的屬性178
8.4.3Label控件180
8.4.4Button控件181
8.4.5Entry控件184
8.4.6Frame控件187
8.4.7Radiobutton控件188
8.4.8Checkbutton控件190
8.4.9Text控件193
8.4.10Listbox控件195
8.5tkinter對話框197
8.5.1消息對話框197
8.5.2簡單輸入對話框201
8.5.3文件對話框202
8.5.4顏色選擇對話框205
8.6用Canvas控件繪制圖形206
8.7tkinter的事件處理210
8.7.1事件對象的屬性210
8.7.2事件處理程序211
8.7.3事件綁定211
8.8習題214
第9章數據處理/219
9.1NumPy計算庫的使用219
9.1.1安裝和導入NumPy219
9.1.2創(chuàng)建ndarray數組對象219
9.1.3ndarray數組對象的屬性222
9.1.4ndarray數組的數據類型及類型轉換225
9.1.5其他創(chuàng)建ndarray數組的方法229
9.1.6ndarray數組的索引與切片238
9.1.7ndarray數組的運算243
9.1.8ndarray數組的常用數學函數246
9.2Pandas數據分析庫的使用247
9.2.1安裝和導入Pandas庫247
9.2.2Pandas的Series對象248
9.2.3Pandas的DataFrame對象254
9.2.4Pandas的文件操作267
9.2.5計算統(tǒng)計271
9.3習題272
第10章數據可視化/274
10.1Matplotlib繪圖274
10.1.1安裝和導入Matplotlib庫274
10.1.2繪圖的步驟274
10.1.3畫布與子圖275
10.1.4繪制折線圖280
10.1.5繪制散點圖285
10.1.6繪制條形圖286
10.1.7繪制直方圖293
10.1.8繪制餅圖295
10.2Pandas繪圖298
10.2.1用Pandas繪圖的步驟298
10.2.2繪制折線圖300
10.2.3繪制條形圖304
10.2.4繪制直方圖306
10.3習題308
第11章爬取與分析網頁數據/312
11.1爬取網頁的urllib庫312
11.1.1urllib庫312
11.1.2使用urlopen()方法獲取網頁313
11.1.3使用Request()方法包裝請求321
11.2解析網頁的BeautifulSoup庫322
11.2.1安裝與導入BeautifulSoup323
11.2.2BeautifulSoup對象324
11.3習題327
第12章SQLite數據庫操作/328
12.1Python操作數據庫的一般步驟328
12.2SQLite數據庫簡介328
12.3連接SQLite數據庫329
12.4創(chuàng)建游標對象330
12.5執(zhí)行SQL數據操作331
12.6應用實例333
12.7習題346
參考文獻/347