編輯推薦
這是一本面向初學者的Python編程入門書,特別適合沒有任何編程基礎的讀者學習。如果你想要學習Python編程,或者想轉型到人工智能領域尋找機會,那麼我向你真誠的推薦這樣一本好書,我的理由是:
首先,《細說Python編程:從入門到科學計算》由兩位長期使用Python編程的博士執筆,他們在領域內工作多年,對Python語言有透徹深入的理解,他們會教給你正確高效的編程學習方法。不走彎路,才能行穩致遠,不是嗎。
其次,《細說Python編程:從入門到科學計算》內容涵蓋了Python編程的核心知識點,完全可滿足入門者的學習需求。值得一提的是,《細說Python編程:從入門到科學計算》還擴展性地介紹了更多的知識,如資料庫編程、網路編程、代碼測試、程序打包、科學計算等,還針對每個知識點介紹了更深入的知識,如容器部分,除介紹容器的基本功能和使用方法之外,還介紹了嵌套容器的使用,對於函數部分在介紹了基本常用的函數之外,還介紹了Lambda表達式函數、閉包和遞歸函數,裝飾器部分介紹了其多種應用場景,代碼測試部分介紹了doctesst和unittest測試工具的使用,等等,這些知識也是實際編程中經常用到的,但在很多面向新手的Python編程書中並不會或很少涉及。讀者會從本書中體會到編者的用心——學以致用,能夠解決實際問題才是本書想要達成的目標。
第三,學習編程不能紙上談兵,故此,《細說Python編程:從入門到科學計算》安排了超過600餘個編程示例,針對每一個知識點進行詳盡演示,甚至給出了多個示例反覆舉例說明,讀者可以邊學邊練,深入理解,並舉一反三。
第四,對於初學者來說,學習編程難免會遇到各種各樣的問題,新手往往入門並不容易,《細說Python編程:從入門到科學計算》編者為使讀者輕鬆高效學習,減少學習上的痛苦,特別錄製了150餘集超過16小時的教學視頻,讀者可以掃描本書各章節的二維碼即可觀看學習。下載本書的源代碼,可以上機演練。如果讀者在學習過程中遇到問題,還可以訪問編者的微信公眾號獲得幫助,加入QQ群與學習夥伴們交流共同提高。
第五,通俗易懂也最本書一大特點,雖然《細說Python編程:從入門到科學計算》接近500頁,但並不枯燥,作為編者全書盡量使用易於理解的語言和適合國人的學習習慣進行講解,讀者會發現閱讀起來很輕鬆,很舒服,感覺學習編程是一件愉快的事,無論你是高中生、大學生、文科生、理科生、轉型到Python編程的各行業人士,都可嘗試使用本書輕鬆掌握Python編程。建議讀者先閱讀,再聽視頻,最後再上機練習,這是一個不錯的學習方法。
最後,希望《細說Python編程:從入門到科學計算》成為各位讀者的案頭寶典,藉助Python編程,在AI時代大展身手!
內容簡介
《細說Python編程:從入門到科學計算》以Python 3 x為平台,由兩位博士執筆,詳盡細緻地闡述Python編程的基礎知識和高級技巧,並以大量示例代碼進行實踐,同時還介紹人工智能領域廣泛使用的科學計算工具NumPy。全書分為兩篇,共19章。第1篇(第1~11章)為基礎知識,主要講解Python的編譯環境、入門知識、字元串、容器、函數、循環、條件選擇、模塊、類、類的特殊成員、文件;第2篇(第12~19章)為高級應用,包括異常處理、日期和時間、測試代碼、程序打包、使用資料庫、網路編程、圖形用戶界面、科學計算等內容。全書知識點豐富,輔之以示例演示,讀者可以邊學邊練,快速掌握。
《細說Python編程:從入門到科學計算》還提供了16小時共151節微課教學視頻,讀者掃碼即可觀看學習,免費提供的示例源碼文件可直接調用,方便上機操練。
《細說Python編程:從入門到科學計算》深入淺出,內容新穎,涉及面廣,適合想要學習Python編程的各層次讀者。
作者簡介
凌峰,畢業於中國科學院大學,博士,高級職稱,從事機器學習、人工智能、圖像處理、計算機視覺的研究與開發工作多年,擁有豐富的機器學習演算法實現經驗,身手不凡,卻不喜歡拋頭露面,是一位真正低調的AI高手。
韓曉泉,畢業於中國科學院研究生院,博士,正高級職稱,從事集成電路製造裝備與光電精密測控研發工作近二十年,熟悉控制演算法、機器視覺、光電測量和數據處理等研究方向,發表論文30餘篇,授權發明專利10餘項。
目錄
目 錄
第1篇 基礎知識
第 1 章 構建Python開發環境3
1 1 初識Python3
1 2 安裝Python4
1 2 1 在Windows環境下安裝5
1 2 2 在Linux環境下安裝7
1 2 3 在Mac環境下安裝7
1 3 Python IDE和Anaconda介紹7
1 3 1 Python IDE8
1 3 2 PyCharm10
1 3 3 Anaconda介紹15
1 4 認識Python程序15
1 4 1 命令行15
1 4 2 Python代碼行16
1 4 3 Python腳本17
1 4 4 縮進17
1 4 5 註釋19
1 5 小結19
第 2 章 開始你的Python編程20
2 1 Python的基本編碼規範20
2 2 關鍵字24
2 3 常量與變數24
2 4 標識符26
2 5 運算符27
2 5 1 算術運算符27
2 5 2 比較運算符28
2 5 3 邏輯運算符29
2 5 4 位運算符29
2 5 5 成員運算符30
2 5 6 身份運算符30
2 5 7 賦值運算符31
2 5 8 運算符優先順序32
2 6 數據類型33
2 6 1 整數型33
2 6 2 浮點型35
2 6 3 複數型36
2 6 4 位元組型37
2 6 5 布爾型38
2 6 6 字元串型39
2 7 內置函數42
2 7 1 內置函數的概念42
2 7 2 幾個常用的內置函數43
2 8 小結46
第 3 章 字元串47
3 1 字元串的基本操作47
3 1 1 字元串索引和切片47
3 1 2 字元串是不可變的50
3 1 3 字元串拼接50
3 1 4 字元串長度52
3 1 5 字元串分割54
3 1 6 返回字元串中最大的字母和最小的字母55
3 1 7 字元串填充56
3 2 轉義字元57
3 3 字元串運算符59
3 4 字元串格式化60
3 5 字元串檢索與統計61
3 5 1 統計字元串出現的次數61
3 5 2 檢測字元串中是否包含某子串63
3 5 3 檢索字元串開頭和結尾65
3 6 字元串大小寫轉換66
3 6 1 大小寫全部轉換67
3 6 2 字元串頭部大小寫轉換68
3 6 3 大小寫反轉69
3 6 4 字元串替換69
3 7 刪除指定字元串70
3 8 字元串合併72
3 9 字元串對齊72
3 9 1 ljust()方法73
3 9 2 rjust()方法74
3 9 3 center()方法75
3 10 字元串編解碼76
3 10 1 字元串編碼76
3 10 2 字元串解碼77
3 11 小結78
第 4 章 容器79
4 1 列表79
4 1 1 列表的創建方法79
4 1 2 列表的基本操作81
4 1 3 列表方法84
4 1 4 創建數字列表89
4 2 元組90
4 2 1 元組的創建方法90
4 2 2 元組的訪問91
4 3 字典93
4 3 1 字典的應用93
4 3 2 創建字典93
4 3 3 字典的常見操作94
4 3 4 字元串用於字典96
4 3 5 字典方法96
4 3 6 使用字典時的注意事項104
4 4 集合105
4 4 1 集合的創建105
4 4 2 集合方法106
4 5 容器嵌套112
4 5 1 字典列表113
4 5 2 在字典中存儲列表113
4 6 小結113
第 5 章 函數114
5 1 函數的定義和調用114
5 1 1 函數的定義115
5 1 2 函數的調用116
5 1 3 提供說明文檔116
5 2 函數參數和返回值117
5 2 1 函數參數及其傳遞117
5 2 2 關鍵字參數119
5 2 3 位置參數119
5 2 4 默認參數121
5 2 5 不定長參數122
5 2 6 函數的返回值123
5 3 空值125
5 4 變數的作用域126
5 4 1 局部變數126
5 4 2 全局變數128
5 5 局部函數129
5 6 exec()函數和eval()函數132
5 7 函數的高級話題134
5 7 1 lambda匿名函數135
5 7 2 函數式編程136
5 7 3 閉包函數138
5 7 4 遞歸139
5 8 小結141
第 6 章 循環142
6 1 while循環142
6 1 1 while的用法142
6 1 2 while else語句144
6 1 3 while嵌套144
6 2 for循環145
6 2 1 for的用法145
6 2 2 for else語句147
6 2 3 for嵌套148
6 2 4 使用for循環遍歷字典150
6 3 break語句153
6 4 continue語句155
6 5 pass語句156
6 6 循環中的常用內置函數157
6 6 1 zip()函數157
6 6 2 reversed()函數158
6 6 3 sorted()函數160
6 7 小結162
第 7 章 條件選擇163
7 1 if語句詳解163
7 1 1 if語句164
7 1 2 if else語句164
7 1 3 if elif else166
7 2 條件測試167
7 2 1 是否相等167
7 2 2 是否不相等168
7 2 3 比較數字169
7 2 4 檢查多個條件169
7 2 5 檢查字典中的特定值170
7 3 if語句處理列表171
7 3 1 確定列表不是空的171
7 3 2 處理列表中的特殊元素171
7 3 3 多個列表172
7 4 條件語句和循環語句結合應用173
7 4 1 實現簡單的用戶登錄驗證程序173
7 4 2 列印空心等邊三角形173
7 4 3 列印空心菱形174
7 4 4 列印空心正方形175
7 5 小結176
第 8 章 模塊、包和標準庫177
8 1 模塊177
8 1 1 創建模塊178
8 1 2 使用模塊180
8 2 包182
8 2 1 創建包182
8 2 2 安裝包183
8 3 探索模塊185
8 3 1 模塊包含什麼185
8 3 2 使用help獲取幫助186
8 3 3 文檔187
8 3 4 使用源代碼188
8 4 標準庫188
8 4 1 os189
8 4 2 sys190
8 4 3 random191
8 4 4 re194
8 4 5 其他常用的標準模塊200
8 5 小結201
第 9 章 類202
9 1 一切皆對象202
9 1 1 面向對象概述202
9 1 2 面向對象相關術語204
9 2 創建和使用類204
9 2 1 如何定義類204
9 2 2 __init__()類的構造方法206
9 2 3 類的實例化207
9 2 4 類對象的使用208
9 2 5 self用法詳解212
9 2 6 使用type()函數動態創建類214
9 2 7 MetaClass元類215
9 3 類屬性和實例屬性217
9 3 1 類變數(類屬性)217
9 3 2 實例變數(實例屬性)221
9 3 3 類的局部變數224
9 3 4 使用property()函數定義屬性224
9 3 5 限制類實例動態添加屬性和方法227
9 4 方法230
9 4 1 實例方法230
9 4 2 靜態方法231
9 4 3 類方法232
9 4 4 調用實例方法233
9 4 5 描述