定 價:49 元
叢書名:高等學校計算機專業(yè)規(guī)劃教材
- 作者:王愷 王志 李濤 朱洪文
- 出版時間:2019/2/1
- ISBN:9787111620129
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書系統(tǒng)講解Python程序設計語言以及基本程序設計、實現和調試方法等基礎知識,通過概念引入、直觀示例和錯誤分析等方法,使讀者在全面了解Python技術歷史、現狀與發(fā)展趨勢的基礎上,能夠系統(tǒng)地掌握Python基本概念、編程思想以及程序設計技術,具備熟練的Python編程技能和面向對象軟件設計技術思想。
在Python開發(fā)者社群流行著一句話:“人生苦短,我用Python!彪m是一句戲言,但卻揭示了Python語言的優(yōu)勢。Python是一種體現簡單主義思想的語言,可以使用盡量少的代碼完成更多工作。Python使開發(fā)者能夠專注于解決問題而不是去搞明白語言本身。另外,Python有簡單易懂的說明文檔和豐富的第三方庫,初學者很容易上手。
除了簡單易學以外,Python還具有免費開源、跨平臺性、高層語言、面向對象、豐富的庫、膠水語言等優(yōu)點,因此,在系統(tǒng)編程、圖形界面開發(fā)、科學計算、文本處理、數據庫編程、網絡編程、Web開發(fā)、自動化運維、金融分析、多媒體應用、游戲開發(fā)、人工智能等方面得到廣泛應用。不僅大量計算機專業(yè)人員選擇使用Python進行快速開發(fā),非計算機專業(yè)人員也紛紛選擇Python幫助自己解決專業(yè)問題。根據TIOBE的最新排名,Python已超越C#,與Java、C、C++一起成為全球前四大流行語言。
Python的發(fā)展也給高校編程課程的教學帶來了新的方向,很多高校紛紛開設相關課程。目前,Python的教程很多,但從高校本科教學需求出發(fā),真正體現通過編程解決實際問題的理念的教程還不多。本書正是基于這樣的思路和理念,由南開大學計算機學院的教師結合多年教學和項目開發(fā)實踐經驗編寫而成,希望能夠為高校理工科學生提供一本理論和實踐兼?zhèn)涞腜ython編程入門教材。
在編寫上,我們強調通過問題的解決過程向讀者展示程序設計的本質以及Python程序的編寫方法,使讀者能夠在有限時間內快速掌握Python編程并初步具備利用Python語言解決實際應用問題的能力。本書的特色包括:
1)針對每一個知識點提供了相關程序實例,實例的規(guī)模循序漸進,使讀者更直觀地理解Python編程語言的基本語法和程序設計方法,并逐步提升解決問題的能力。
2)針對重點和難點知識,通過大量“提示”和“注意”向讀者強調并詳細說明不易理解或容易混淆的內容。
3)大多數章節(jié)提供了課后習題,供讀者檢驗自己的學習情況,及時發(fā)現學習過程中存在的問題。
4)為學生和老師提供較為豐富的學習和教學資源,降低學習和教學的門檻。
本書共分為10章,各章主要內容如下。
第1章首先給出程序設計和Python語言的簡單介紹,包括編譯型語言和解釋型語言的區(qū)別、Python發(fā)展史及其特點和應用領域。然后,以Windows和Linux平臺為例介紹了Python 3.7.0的安裝步驟。接著,通過一個簡單的HelloWorld程序使讀者對Python程序的運行方式、注釋方法、編寫規(guī)范和標準輸入/輸出方法有初步認識。最后,介紹了Python自帶的IDLE開發(fā)環(huán)境的使用方法。
第2章首先給出變量的定義方法和Number、String、List等常用的Python數據類型,通過這部分內容,讀者可掌握利用計算機存儲數據的方法。然后,介紹常用的運算符,包括占位運算符、算術運算符、賦值運算符、比較運算符、邏輯運算符、位運算符、身份運算符、成員運算符和序列運算符。通過這部分內容,讀者可掌握不同類型數據所支持的運算及運算規(guī)則。最后,介紹條件和循環(huán)兩種語句結構。通過這部分內容,讀者可以設計程序來解決具有更復雜邏輯結構的問題。
第3章首先介紹函數的定義與調用方法,以及與函數定義和調用相關的參數列表、返回值等內容。然后,介紹模塊和包的概念與作用,以及模塊和包的使用方法。接著,介紹變量的作用域,包括全局變量、局部變量的定義和使用方法以及global、nonlocal關鍵字的作用。最后,介紹函數相關的高級應用,包括遞歸函數、高階函數、lambda函數、閉包和裝飾器。
第4章首先介紹類與對象的概念以及它們的定義和使用方法,并給出Python類中包括構造方法和析構方法在內的常用內置方法的作用。然后,介紹繼承與多態(tài)的概念與作用,并給出它們的具體實現方法。最后,介紹類與對象相關的高級應用,包括與類相關的3個內置函數(isinstance、issubclass和type)、類方法、靜態(tài)方法、動態(tài)擴展類與實例、
__slots__、@property、元類、單例模式和鴨子類型。
第5章首先介紹可變類型與不可變類型的概念和區(qū)別。然后,在第2章內容的基礎上進一步介紹列表、元組、集合和字典這些數據類型的更多使用方法。最后,介紹關于序列、集合和字典的一些高級應用,包括切片、列表生成表達式、生成器和迭代器。
第6章在第2章內容的基礎上進一步介紹字符串的使用方法,包括字符串常用操作、格式化方法及正則表達式。在正則表達式部分將給出一個簡單的爬蟲程序示例,供讀者參考。
第7章首先介紹os模塊的使用,通過os模塊可以方便地使用操作系統(tǒng)的相關功能,如創(chuàng)建目錄、刪除目錄等。然后,介紹文件讀寫操作,利用文件進行數據的長期保存。接著,介紹一維數據和二維數據的概念,以及對可用于存儲一維/二維數據的CSV格式文件的操作方法。最后,介紹異常相關的內容,包括異常的定義、分類和處理。
第8章介紹Python多線程與多進程編程的一些基本方法。使用多線程模塊threading提供的Thread、Lock、Condition、Queue、Barrier等類,實現多線程創(chuàng)建、線程間的同步和通信。使用多進程模塊multiprocessing提供的Process、Pool、Queue、Pipe、Lock等類,實現子進程創(chuàng)建、進程池(批量創(chuàng)建子進程并管理子進程數量上限)以
王愷,南開大學計算機控制與工程學院副教授,南開大學計算機基礎教學部副主任,博士,常年從事計算機程序設計、數據結構與算法、大學計算機基礎等基礎課程的教學工作。
前言
第1章 初識Python 1
1.1 Python的基本概念 1
1.1.1 編譯型語言與解釋型語言 1
1.1.2 Python的發(fā)展史 3
1.1.3 Python的特點及應用領域 4
1.2 Python語言環(huán)境的安裝 7
1.2.1 在Windows平臺上安裝Python語言環(huán)境 8
1.2.2 在Linux平臺上安裝Python語言環(huán)境 10
1.3 第一個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 啟動IDLE 18
1.4.2 創(chuàng)建Python腳本 18
1.4.3 常用的編輯功能 20
1.5 本章小結 21
1.6 課后習題 21
第2章 Python的基礎語法 23
2.1 變量 23
2.1.1 定義一個變量 23
2.1.2 同時定義多個變量 24
2.2 數據類型 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 運算符 33
2.3.1 占位運算符 33
2.3.2 算術運算符 34
2.3.3 賦值運算符 35
2.3.4 比較運算符 36
2.3.5 邏輯運算符 37
2.3.6 位運算符 37
2.3.7 身份運算符 39
2.3.8 成員運算符 40
2.3.9 序列運算符 41
2.3.10 運算符優(yōu)先級 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 本章小結 52
2.7 課后習題 52
第3章 函數 57
3.1 函數的定義與調用 57
3.2 參數列表與返回值 58
3.2.1 形參 59
3.2.2 實參 59
3.2.3 默認參數 60
3.2.4 關鍵字參數 61
3.2.5 不定長參數 62
3.2.6 拆分參數列表 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 猴子補丁 72
3.3.5 第三方模塊的獲取與安裝 73
3.4 變量的作用域 73
3.4.1 局部變量 74
3.4.2 全局變量 74
3.4.3 global關鍵字 75
3.4.4 nonlocal關鍵字 76
3.5 高級應用 77
3.5.1 遞歸函數 77
3.5.2 高階函數 78
3.5.3 lambda函數 78
3.5.4 閉包 79
3.5.5 裝飾器 80
3.6 本章小結 83
3.7 課后習題 83
第4章 面向對象 87
4.1 類與對象 87
4.1.1 類的定義 87
4.1.2 創(chuàng)建實例 88
4.1.3 類屬性定義及其訪問 89
4.1.4 類中普通方法定義及調用 91
4.1.5 私有屬性 92
4.1.6 構造方法 93
4.1.7 析構方法 95
4.1.8 常用內置方法 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 高級應用 103
4.3.1 內置函數isinstance、issubclass和type 103
4.3.2 類方法 104
4.3.3 靜態(tài)方法 104
4.3.4 動態(tài)擴展類與實例 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 本章小結 112
4.5 課后習題 112
第5章 序列、集合和字典 116
5.1 可變類型與不可變類型 116
5.2 列表 117
5.2.1 創(chuàng)建列表 117
5.2.2 拼接列表 118
5.2.3 復制列表元素 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)計元素出現的次數 122
5.2.10 計算列表長度 123
5.2.11 列表中元素排序 123
5.3 元組 124
5.3.1 創(chuàng)建元組 125
5.3.2 創(chuàng)建具有單個元素的元組 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 對稱差集 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 計算字典中元素的個數 133
5.5.6 清除字典中的所有元素 133
5.5.7 判斷字典中是否存在鍵 133
5.5.8 拼接兩個字典 134
5.5.9 獲取字典中鍵的集合 135
5.5.10 獲取字典中值的集合 135
5.5.11 獲取字典中的元素數組 135
5.5.12 淺拷貝 136
5.5.13 深拷貝 137
5.6 高級應用 138
5.6.1 切片 138
5.6.2 列表生成表達式 138
5.6.3 生成器 139
5