本書從實(shí)用的角度出發(fā),采用理論與實(shí)踐相結(jié)合的方式,介紹Python程序設(shè)計(jì)的基礎(chǔ)知識(shí),力求培養(yǎng)讀者使用Python語言解決問題的能力。全書內(nèi)容包括計(jì)算機(jī)與程序、Python開發(fā)環(huán)境、Python程序設(shè)計(jì)初步、循環(huán)程序設(shè)計(jì)、函數(shù)和遞歸、Python數(shù)據(jù)結(jié)構(gòu)、Python面向?qū)ο蟪绦蛟O(shè)計(jì)、Python多線程程序設(shè)計(jì)。
1.本書作為Python語言的入門教材,目的不在于覆蓋Python語言的所有知識(shí)點(diǎn),而是介紹Python語言的主要語法結(jié)構(gòu),使讀者能夠掌握Python語言的核心內(nèi)容,能夠在未來的學(xué)習(xí)和工作中實(shí)際運(yùn)用Python語言編寫實(shí)用的程序。
2.為了增強(qiáng)實(shí)踐的效果,本書中由淺入深地引入了5個(gè)綜合性的案例,幫助讀者理解各種語法知識(shí),如何在實(shí)際編程靈活運(yùn)用所學(xué)知識(shí)和技能。
許桂秋,計(jì)算機(jī)學(xué)士,工商管理碩士。長期從事計(jì)算機(jī)相關(guān)的教學(xué)與培訓(xùn)工作,具有豐富的教學(xué)與實(shí)踐開發(fā)經(jīng)驗(yàn)。
2009年-2012年,中國石油天然氣股份有限公司,負(fù)責(zé)項(xiàng)目管理工作,企業(yè)內(nèi)部高級(jí)講師;
2012年-2015年,曙光信息產(chǎn)業(yè)股份有限公司,負(fù)責(zé)項(xiàng)目管理與企業(yè)內(nèi)部培訓(xùn)工作,企業(yè)內(nèi)部高級(jí)講師;
2016年至今,曙光瑞翼教育合作中心,教學(xué)運(yùn)營總監(jiān),負(fù)責(zé)各高校合作項(xiàng)目部的具體運(yùn)營管理及指導(dǎo)工作。
第1章 Python程序設(shè)計(jì)導(dǎo)論 1
1.1 計(jì)算機(jī)與程序 1
1.1.1 計(jì)算機(jī)的基本組成 1
1.1.2 什么是程序 4
1.1.3 計(jì)算機(jī)如何執(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程序設(shè)計(jì)初步 16
2.1 運(yùn)算符與數(shù)據(jù)類型 16
2.1.1 運(yùn)算符與表達(dá)式 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ù)調(diào)用表達(dá)式 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 類和對(duì)象 38
2.5.1 使用已有的類 38
2.5.2 定義新的類 39
案例1 投擲骰子 40
第3章 循環(huán)程序設(shè)計(jì) 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 如何設(shè)計(jì)循環(huán) 49
3.2.1 循環(huán)控制結(jié)構(gòu) 49
3.2.2 一種循環(huán)算法設(shè)計(jì)思路:猜測和檢驗(yàn) 50
3.2.3 循環(huán)不變式 51
3.3 典型的循環(huán)控制 52
3.3.1 重復(fù)處理一批數(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 調(diào)用函數(shù) 59
4.1.3 函數(shù)的參數(shù) 60
4.2 函數(shù)和環(huán)境 62
4.2.1 全局變量 64
4.2.2 函數(shù)調(diào)用環(huán)境 65
4.3 遞歸 67
4.3.1 使用遞歸實(shí)現(xiàn)階乘 67
4.3.2 Fibonacci數(shù)列 67
4.3.3 遞歸與數(shù)學(xué)歸納法 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ù)結(jié)構(gòu) 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 迭代器和可迭代對(duì)象 80
5.3.2 自定義迭代器 82
5.3.3 生成器 83
5.4 字典 85
5.4.1 字典的操作 85
5.4.2 字典應(yīng)用示例:詞頻統(tǒng)計(jì) 87
5.5 集合 90
5.5.1 集合的基本操作 90
5.5.2 集合的關(guān)系操作 91
5.6 數(shù)據(jù)抽象 91
5.6.1 精確的有理數(shù) 92
5.6.2 使用元組實(shí)現(xiàn)有理數(shù) 93
5.6.3 抽象屏障 94
案例3 鏈表和樹 95
第6章 Python面向?qū)ο蟪绦蛟O(shè)計(jì) 98
6.1 類和對(duì)象 98
6.1.1 類的定義與使用 98
6.1.2 屬性 100
6.1.3 方法 103
6.1.4 特殊方法 104
6.2 自定義類型示例:有理數(shù)的實(shí)現(xiàn) 105
6.2.1 有理數(shù)回顧 105
6.2.2 使用類來實(shí)現(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表達(dá)式計(jì)算器 119
案例5 Scheme語言解釋器 128
第7章 Python多線程程序設(shè)計(jì) 142
7.1 并發(fā)和并行 142
7.1.1 并發(fā) 143
7.1.2 并行 144
7.1.3 示例:貨物運(yùn)送 147
7.2 線程 149
7.2.1 Threading模塊 149
7.2.2 競爭條件 153
7.2.3 臨界區(qū)與鎖 155
7.2.4 生產(chǎn)者-消費(fèi)者模式 159