定 價(jià):49 元
叢書名:高等學(xué)校計(jì)算機(jī)專業(yè)規(guī)劃教材
- 作者:王愷 王志 李濤 朱洪文
- 出版時(shí)間:2019/2/1
- ISBN:9787111620129
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書系統(tǒng)講解Python程序設(shè)計(jì)語言以及基本程序設(shè)計(jì)、實(shí)現(xiàn)和調(diào)試方法等基礎(chǔ)知識(shí),通過概念引入、直觀示例和錯(cuò)誤分析等方法,使讀者在全面了解Python技術(shù)歷史、現(xiàn)狀與發(fā)展趨勢(shì)的基礎(chǔ)上,能夠系統(tǒng)地掌握Python基本概念、編程思想以及程序設(shè)計(jì)技術(shù),具備熟練的Python編程技能和面向?qū)ο筌浖O(shè)計(jì)技術(shù)思想。
在Python開發(fā)者社群流行著一句話:“人生苦短,我用Python!彪m是一句戲言,但卻揭示了Python語言的優(yōu)勢(shì)。Python是一種體現(xiàn)簡(jiǎn)單主義思想的語言,可以使用盡量少的代碼完成更多工作。Python使開發(fā)者能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。另外,Python有簡(jiǎn)單易懂的說明文檔和豐富的第三方庫(kù),初學(xué)者很容易上手。
除了簡(jiǎn)單易學(xué)以外,Python還具有免費(fèi)開源、跨平臺(tái)性、高層語言、面向?qū)ο、豐富的庫(kù)、膠水語言等優(yōu)點(diǎn),因此,在系統(tǒng)編程、圖形界面開發(fā)、科學(xué)計(jì)算、文本處理、數(shù)據(jù)庫(kù)編程、網(wǎng)絡(luò)編程、Web開發(fā)、自動(dòng)化運(yùn)維、金融分析、多媒體應(yīng)用、游戲開發(fā)、人工智能等方面得到廣泛應(yīng)用。不僅大量計(jì)算機(jī)專業(yè)人員選擇使用Python進(jìn)行快速開發(fā),非計(jì)算機(jī)專業(yè)人員也紛紛選擇Python幫助自己解決專業(yè)問題。根據(jù)TIOBE的最新排名,Python已超越C#,與Java、C、C++一起成為全球前四大流行語言。
Python的發(fā)展也給高校編程課程的教學(xué)帶來了新的方向,很多高校紛紛開設(shè)相關(guān)課程。目前,Python的教程很多,但從高校本科教學(xué)需求出發(fā),真正體現(xiàn)通過編程解決實(shí)際問題的理念的教程還不多。本書正是基于這樣的思路和理念,由南開大學(xué)計(jì)算機(jī)學(xué)院的教師結(jié)合多年教學(xué)和項(xiàng)目開發(fā)實(shí)踐經(jīng)驗(yàn)編寫而成,希望能夠?yàn)楦咝@砉た茖W(xué)生提供一本理論和實(shí)踐兼?zhèn)涞腜ython編程入門教材。
在編寫上,我們強(qiáng)調(diào)通過問題的解決過程向讀者展示程序設(shè)計(jì)的本質(zhì)以及Python程序的編寫方法,使讀者能夠在有限時(shí)間內(nèi)快速掌握Python編程并初步具備利用Python語言解決實(shí)際應(yīng)用問題的能力。本書的特色包括:
1)針對(duì)每一個(gè)知識(shí)點(diǎn)提供了相關(guān)程序?qū)嵗,?shí)例的規(guī)模循序漸進(jìn),使讀者更直觀地理解Python編程語言的基本語法和程序設(shè)計(jì)方法,并逐步提升解決問題的能力。
2)針對(duì)重點(diǎn)和難點(diǎn)知識(shí),通過大量“提示”和“注意”向讀者強(qiáng)調(diào)并詳細(xì)說明不易理解或容易混淆的內(nèi)容。
3)大多數(shù)章節(jié)提供了課后習(xí)題,供讀者檢驗(yàn)自己的學(xué)習(xí)情況,及時(shí)發(fā)現(xiàn)學(xué)習(xí)過程中存在的問題。
4)為學(xué)生和老師提供較為豐富的學(xué)習(xí)和教學(xué)資源,降低學(xué)習(xí)和教學(xué)的門檻。
本書共分為10章,各章主要內(nèi)容如下。
第1章首先給出程序設(shè)計(jì)和Python語言的簡(jiǎn)單介紹,包括編譯型語言和解釋型語言的區(qū)別、Python發(fā)展史及其特點(diǎn)和應(yīng)用領(lǐng)域。然后,以Windows和Linux平臺(tái)為例介紹了Python 3.7.0的安裝步驟。接著,通過一個(gè)簡(jiǎn)單的HelloWorld程序使讀者對(duì)Python程序的運(yùn)行方式、注釋方法、編寫規(guī)范和標(biāo)準(zhǔn)輸入/輸出方法有初步認(rèn)識(shí)。最后,介紹了Python自帶的IDLE開發(fā)環(huán)境的使用方法。
第2章首先給出變量的定義方法和Number、String、List等常用的Python數(shù)據(jù)類型,通過這部分內(nèi)容,讀者可掌握利用計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)的方法。然后,介紹常用的運(yùn)算符,包括占位運(yùn)算符、算術(shù)運(yùn)算符、賦值運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、身份運(yùn)算符、成員運(yùn)算符和序列運(yùn)算符。通過這部分內(nèi)容,讀者可掌握不同類型數(shù)據(jù)所支持的運(yùn)算及運(yùn)算規(guī)則。最后,介紹條件和循環(huán)兩種語句結(jié)構(gòu)。通過這部分內(nèi)容,讀者可以設(shè)計(jì)程序來解決具有更復(fù)雜邏輯結(jié)構(gòu)的問題。
第3章首先介紹函數(shù)的定義與調(diào)用方法,以及與函數(shù)定義和調(diào)用相關(guān)的參數(shù)列表、返回值等內(nèi)容。然后,介紹模塊和包的概念與作用,以及模塊和包的使用方法。接著,介紹變量的作用域,包括全局變量、局部變量的定義和使用方法以及global、nonlocal關(guān)鍵字的作用。最后,介紹函數(shù)相關(guān)的高級(jí)應(yīng)用,包括遞歸函數(shù)、高階函數(shù)、lambda函數(shù)、閉包和裝飾器。
第4章首先介紹類與對(duì)象的概念以及它們的定義和使用方法,并給出Python類中包括構(gòu)造方法和析構(gòu)方法在內(nèi)的常用內(nèi)置方法的作用。然后,介紹繼承與多態(tài)的概念與作用,并給出它們的具體實(shí)現(xiàn)方法。最后,介紹類與對(duì)象相關(guān)的高級(jí)應(yīng)用,包括與類相關(guān)的3個(gè)內(nèi)置函數(shù)(isinstance、issubclass和type)、類方法、靜態(tài)方法、動(dòng)態(tài)擴(kuò)展類與實(shí)例、
__slots__、@property、元類、單例模式和鴨子類型。
第5章首先介紹可變類型與不可變類型的概念和區(qū)別。然后,在第2章內(nèi)容的基礎(chǔ)上進(jìn)一步介紹列表、元組、集合和字典這些數(shù)據(jù)類型的更多使用方法。最后,介紹關(guān)于序列、集合和字典的一些高級(jí)應(yīng)用,包括切片、列表生成表達(dá)式、生成器和迭代器。
第6章在第2章內(nèi)容的基礎(chǔ)上進(jìn)一步介紹字符串的使用方法,包括字符串常用操作、格式化方法及正則表達(dá)式。在正則表達(dá)式部分將給出一個(gè)簡(jiǎn)單的爬蟲程序示例,供讀者參考。
第7章首先介紹os模塊的使用,通過os模塊可以方便地使用操作系統(tǒng)的相關(guān)功能,如創(chuàng)建目錄、刪除目錄等。然后,介紹文件讀寫操作,利用文件進(jìn)行數(shù)據(jù)的長(zhǎng)期保存。接著,介紹一維數(shù)據(jù)和二維數(shù)據(jù)的概念,以及對(duì)可用于存儲(chǔ)一維/二維數(shù)據(jù)的CSV格式文件的操作方法。最后,介紹異常相關(guān)的內(nèi)容,包括異常的定義、分類和處理。
第8章介紹Python多線程與多進(jìn)程編程的一些基本方法。使用多線程模塊threading提供的Thread、Lock、Condition、Queue、Barrier等類,實(shí)現(xiàn)多線程創(chuàng)建、線程間的同步和通信。使用多進(jìn)程模塊multiprocessing提供的Process、Pool、Queue、Pipe、Lock等類,實(shí)現(xiàn)子進(jìn)程創(chuàng)建、進(jìn)程池(批量創(chuàng)建子進(jìn)程并管理子進(jìn)程數(shù)量上限)以
王愷,南開大學(xué)計(jì)算機(jī)控制與工程學(xué)院副教授,南開大學(xué)計(jì)算機(jī)基礎(chǔ)教學(xué)部副主任,博士,常年從事計(jì)算機(jī)程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)與算法、大學(xué)計(jì)算機(jī)基礎(chǔ)等基礎(chǔ)課程的教學(xué)工作。
前言
第1章 初識(shí)Python 1
1.1 Python的基本概念 1
1.1.1 編譯型語言與解釋型語言 1
1.1.2 Python的發(fā)展史 3
1.1.3 Python的特點(diǎn)及應(yīng)用領(lǐng)域 4
1.2 Python語言環(huán)境的安裝 7
1.2.1 在Windows平臺(tái)上安裝Python語言環(huán)境 8
1.2.2 在Linux平臺(tái)上安裝Python語言環(huán)境 10
1.3 第一個(gè)Python程序:HelloWorld 13
1.3.1 中文編碼 14
1.3.2 單行注釋 14
1.3.3 多行注釋 15
1.3.4 書寫規(guī)范 15
1.3.5 輸入和輸出 16
1.4 IDLE環(huán)境 18
1.4.1 啟動(dòng)IDLE 18
1.4.2 創(chuàng)建Python腳本 18
1.4.3 常用的編輯功能 20
1.5 本章小結(jié) 21
1.6 課后習(xí)題 21
第2章 Python的基礎(chǔ)語法 23
2.1 變量 23
2.1.1 定義一個(gè)變量 23
2.1.2 同時(shí)定義多個(gè)變量 24
2.2 數(shù)據(jù)類型 25
2.2.1 Number 25
2.2.2 String 26
2.2.3 List 28
2.2.4 Tuple 30
2.2.5 Set 31
2.2.6 Dictionary 32
2.3 運(yùn)算符 33
2.3.1 占位運(yùn)算符 33
2.3.2 算術(shù)運(yùn)算符 34
2.3.3 賦值運(yùn)算符 35
2.3.4 比較運(yùn)算符 36
2.3.5 邏輯運(yùn)算符 37
2.3.6 位運(yùn)算符 37
2.3.7 身份運(yùn)算符 39
2.3.8 成員運(yùn)算符 40
2.3.9 序列運(yùn)算符 41
2.3.10 運(yùn)算符優(yōu)先級(jí) 41
2.4 條件語句 42
2.4.1 if、elif、else 44
2.4.2 pass 45
2.5 循環(huán)語句 46
2.5.1 for循環(huán) 47
2.5.2 while循環(huán) 48
2.5.3 索引 49
2.5.4 break 50
2.5.5 continue 51
2.5.6 else 51
2.6 本章小結(jié) 52
2.7 課后習(xí)題 52
第3章 函數(shù) 57
3.1 函數(shù)的定義與調(diào)用 57
3.2 參數(shù)列表與返回值 58
3.2.1 形參 59
3.2.2 實(shí)參 59
3.2.3 默認(rèn)參數(shù) 60
3.2.4 關(guān)鍵字參數(shù) 61
3.2.5 不定長(zhǎng)參數(shù) 62
3.2.6 拆分參數(shù)列表 64
3.2.7 返回值 65
3.3 模塊 66
3.3.1 import 67
3.3.2 from import 70
3.3.3 包 71
3.3.4 猴子補(bǔ)丁 72
3.3.5 第三方模塊的獲取與安裝 73
3.4 變量的作用域 73
3.4.1 局部變量 74
3.4.2 全局變量 74
3.4.3 global關(guān)鍵字 75
3.4.4 nonlocal關(guān)鍵字 76
3.5 高級(jí)應(yīng)用 77
3.5.1 遞歸函數(shù) 77
3.5.2 高階函數(shù) 78
3.5.3 lambda函數(shù) 78
3.5.4 閉包 79
3.5.5 裝飾器 80
3.6 本章小結(jié) 83
3.7 課后習(xí)題 83
第4章 面向?qū)ο? 87
4.1 類與對(duì)象 87
4.1.1 類的定義 87
4.1.2 創(chuàng)建實(shí)例 88
4.1.3 類屬性定義及其訪問 89
4.1.4 類中普通方法定義及調(diào)用 91
4.1.5 私有屬性 92
4.1.6 構(gòu)造方法 93
4.1.7 析構(gòu)方法 95
4.1.8 常用內(nèi)置方法 96
4.2 繼承與多態(tài) 98
4.2.1 什么是繼承 98
4.2.2 如何繼承父類 99
4.2.3 方法重寫 100
4.2.4 super方法 101
4.3 高級(jí)應(yīng)用 103
4.3.1 內(nèi)置函數(shù)isinstance、issubclass和type 103
4.3.2 類方法 104
4.3.3 靜態(tài)方法 104
4.3.4 動(dòng)態(tài)擴(kuò)展類與實(shí)例 105
4.3.5 __slots__ 106
4.3.6 @property 107
4.3.7 元類 108
4.3.8 單例模式 109
4.3.9 鴨子類型 111
4.4 本章小結(jié) 112
4.5 課后習(xí)題 112
第5章 序列、集合和字典 116
5.1 可變類型與不可變類型 116
5.2 列表 117
5.2.1 創(chuàng)建列表 117
5.2.2 拼接列表 118
5.2.3 復(fù)制列表元素 119
5.2.4 查找列表元素 120
5.2.5 插入列表元素 121
5.2.6 刪除列表元素 121
5.2.7 獲取列表中的最大元素 122
5.2.8 獲取列表中的最小元素 122
5.2.9 統(tǒng)計(jì)元素出現(xiàn)的次數(shù) 122
5.2.10 計(jì)算列表長(zhǎng)度 123
5.2.11 列表中元素排序 123
5.3 元組 124
5.3.1 創(chuàng)建元組 125
5.3.2 創(chuàng)建具有單個(gè)元素的元組 125
5.3.3 拼接元組 126
5.3.4 獲取元組中的最大元素 126
5.3.5 獲取元組中的最小元素 126
5.3.6 元組的不變性 126
5.4 集合 127
5.4.1 創(chuàng)建集合 127
5.4.2 元素唯一性 127
5.4.3 插入集合元素 127
5.4.4 交集 128
5.4.5 并集 128
5.4.6 差集 129
5.4.7 對(duì)稱差集 129
5.4.8 子集 129
5.4.9 父集 130
5.5 字典 130
5.5.1 創(chuàng)建字典 130
5.5.2 初始化字典中的元素 130
5.5.3 修改/插入字典元素 131
5.5.4 刪除字典中的元素 132
5.5.5 計(jì)算字典中元素的個(gè)數(shù) 133
5.5.6 清除字典中的所有元素 133
5.5.7 判斷字典中是否存在鍵 133
5.5.8 拼接兩個(gè)字典 134
5.5.9 獲取字典中鍵的集合 135
5.5.10 獲取字典中值的集合 135
5.5.11 獲取字典中的元素?cái)?shù)組 135
5.5.12 淺拷貝 136
5.5.13 深拷貝 137
5.6 高級(jí)應(yīng)用 138
5.6.1 切片 138
5.6.2 列表生成表達(dá)式 138
5.6.3 生成器 139
5