本書從實用的角度出發(fā),采用理論與實踐相結合的方式,介紹Python程序設計的基礎知識,力求培養(yǎng)讀者使用Python語言解決問題的能力。全書內(nèi)容包括計算機與程序、Python開發(fā)環(huán)境、Python程序設計初步、循環(huán)程序設計、函數(shù)和遞歸、Python數(shù)據(jù)結構、Python面向對象程序設計、Python多線程程序設計。
1.本書作為Python語言的入門教材,目的不在于覆蓋Python語言的所有知識點,而是介紹Python語言的主要語法結構,使讀者能夠掌握Python語言的核心內(nèi)容,能夠在未來的學習和工作中實際運用Python語言編寫實用的程序。
2.為了增強實踐的效果,本書中由淺入深地引入了5個綜合性的案例,幫助讀者理解各種語法知識,如何在實際編程靈活運用所學知識和技能。
許桂秋,計算機學士,工商管理碩士。長期從事計算機相關的教學與培訓工作,具有豐富的教學與實踐開發(fā)經(jīng)驗。
2009年-2012年,中國石油天然氣股份有限公司,負責項目管理工作,企業(yè)內(nèi)部高級講師;
2012年-2015年,曙光信息產(chǎn)業(yè)股份有限公司,負責項目管理與企業(yè)內(nèi)部培訓工作,企業(yè)內(nèi)部高級講師;
2016年至今,曙光瑞翼教育合作中心,教學運營總監(jiān),負責各高校合作項目部的具體運營管理及指導工作。
第1章 Python程序設計導論 1
1.1 計算機與程序 1
1.1.1 計算機的基本組成 1
1.1.2 什么是程序 4
1.1.3 計算機如何執(zhí)行程序 4
1.2 Python語言 5
1.2.1 Python語言簡介 6
1.2.2 REPL 8
1.2.3 Python腳本 9
1.3 Python的開發(fā)環(huán)境 10
1.3.1 Anaconda 10
1.3.2 PyCharm 13
第2章 Python程序設計初步 16
2.1 運算符與數(shù)據(jù)類型 16
2.1.1 運算符與表達式 16
2.1.2 數(shù)據(jù)類型 21
2.2 變量和字符串 22
2.2.1 語句 22
2.2.2 變量 23
2.2.3 字符串 25
2.3 函數(shù) 26
2.3.1 函數(shù)調用表達式 26
2.3.2 Python內(nèi)置函數(shù) 26
2.3.3 模塊 30
2.3.4 自定義函數(shù) 32
2.4 流程控制語句 33
2.4.1 順序流程 33
2.4.2 bool類型和分支流程 33
2.4.3 循環(huán)流程 36
2.5 類和對象 38
2.5.1 使用已有的類 38
2.5.2 定義新的類 39
案例1 投擲骰子 40
第3章 循環(huán)程序設計 43
3.1 Python中的循環(huán) 43
3.1.1 while循環(huán) 43
3.1.2 for循環(huán) 45
3.1.3 continue和break 47
3.2 如何設計循環(huán) 49
3.2.1 循環(huán)控制結構 49
3.2.2 一種循環(huán)算法設計思路:猜測和檢驗 50
3.2.3 循環(huán)不變式 51
3.3 典型的循環(huán)控制 52
3.3.1 重復處理一批數(shù)據(jù) 52
3.3.2 累積 53
3.3.3 遞推 53
案例2 猜數(shù)字 54
第4章 函數(shù)和遞歸 57
4.1 函數(shù)作為抽象的手段 58
4.1.1 定義函數(shù) 58
4.1.2 調用函數(shù) 59
4.1.3 函數(shù)的參數(shù) 60
4.2 函數(shù)和環(huán)境 62
4.2.1 全局變量 64
4.2.2 函數(shù)調用環(huán)境 65
4.3 遞歸 67
4.3.1 使用遞歸實現(xiàn)階乘 67
4.3.2 Fibonacci數(shù)列 67
4.3.3 遞歸與數(shù)學歸納法 68
4.3.4 遞歸與分治法 68
4.4 高階函數(shù) 69
4.4.1 匿名函數(shù) 69
4.4.2 函數(shù)作為參數(shù) 69
4.4.3 函數(shù)作為返回值 70
第5章 Python數(shù)據(jù)結構 71
5.1 元組 71
5.1.1 元組的創(chuàng)建 72
5.1.2 元組的操作 73
5.1.3 元組的遍歷 74
5.2 列表 76
5.2.1 列表的操作 76
5.2.2 列表是可變的 77
5.3 迭代器 80
5.3.1 迭代器和可迭代對象 80
5.3.2 自定義迭代器 82
5.3.3 生成器 83
5.4 字典 85
5.4.1 字典的操作 85
5.4.2 字典應用示例:詞頻統(tǒng)計 87
5.5 集合 90
5.5.1 集合的基本操作 90
5.5.2 集合的關系操作 91
5.6 數(shù)據(jù)抽象 91
5.6.1 精確的有理數(shù) 92
5.6.2 使用元組實現(xiàn)有理數(shù) 93
5.6.3 抽象屏障 94
案例3 鏈表和樹 95
第6章 Python面向對象程序設計 98
6.1 類和對象 98
6.1.1 類的定義與使用 98
6.1.2 屬性 100
6.1.3 方法 103
6.1.4 特殊方法 104
6.2 自定義類型示例:有理數(shù)的實現(xiàn) 105
6.2.1 有理數(shù)回顧 105
6.2.2 使用類來實現(xiàn)有理數(shù) 106
6.3 繼承和多態(tài) 108
6.3.1 繼承 108
6.3.2 多態(tài) 110
6.3.3 示例 111
6.4 異常處理 113
6.4.1 異常 113
6.4.2 捕捉和處理異!114
6.4.3 Python內(nèi)置的異常類 117
案例4 S表達式計算器 119
案例5 Scheme語言解釋器 128
第7章 Python多線程程序設計 142
7.1 并發(fā)和并行 142
7.1.1 并發(fā) 143
7.1.2 并行 144
7.1.3 示例:貨物運送 147
7.2 線程 149
7.2.1 Threading模塊 149
7.2.2 競爭條件 153
7.2.3 臨界區(qū)與鎖 155
7.2.4 生產(chǎn)者-消費者模式 159