發表於2024-11-22
《Python程序設計教程》是作者在Python教學中針對學生學習時遇到的概念、應用實戰等問題的經驗總結。
基於Python 3.5編寫,涵蓋Python 3.0到3.5的實用特性。
從Python標準函數庫的源碼分析與探討,瞭解標準函數庫中各種語法的應用。
涵蓋abc、collection.abc、datetime、pdb、unittest、timeit、threading、subprocess multiprocessing等標準函數庫的實用模塊。
對於描述器、裝飾器、meta類的實踐等進階主題進行詳細探討,並以標準函數庫中@staticmethod、@abstractmethod等功能的模仿作為實際應用的對象。
特以Lab圖標標注瞭重點範例,以便掌握學習重點。
《Python程序設計教程》是作者在Python教學中學生在課程上遇到的概念、實戰、應用等問題的經驗總結。
本書基於Python 3.5編寫,介紹瞭Python 3.0到3.5的實用特性。本書用簡短精巧的範例程序貫穿全書,以學習筆記的寫作方式進行編寫,讓讀者在Python語言的交互環境中直接動手實戰和體驗,通過“實戰”來掌握Python語言的核心知識和實戰用法,並且特意標注瞭常用範例和重點範例,讓讀者可以根據自己的時間安排進行取捨。
本書既適閤初學者學習,又能幫助有一定基礎的程序員提升技能,還可作為相關培訓的教材。
林信良,專業程序設計師,專長於程序語言、框架等。技術文件涵蓋C/C++、Java、Ruby/Rails、Python、JavaScript、Haskell、OpenSCAD等領域。
第1章 Python起步走 1
1.1 認識Python 2
1.1.1 Python 3的誕生 2
1.1.2 從Python 3.0到3.5 3
1.1.3 初識Python的社區資源 5
1.2 建立Python環境 6
1.2.1 Python的實現 6
1.2.2 下載與安裝Python 3.5 8
1.2.3 認識安裝的內容 10
1.3 重點復習 12
第2章 從REPL到IDE 14
2.1 從 'Hello World' 開始 15
2.1.1 使用REPL 15
2.1.2 編寫Python源碼 18
2.1.3 哈囉!世界! 20
2.2 初識模塊與軟件包 23
2.2.1 模塊簡介 23
2.2.2 設置PYTHONPATH 25
2.2.3 使用軟件包管理模塊 27
2.2.4 使用import as與from import 28
2.3 使用IDE 29
2.3.1 下載、安裝PyCharm 29
2.3.2 IDE項目管理基礎 31
2.4 重點復習 35
第3章 類型與運算符 36
3.1 內建類型 37
3.1.1 數值類型 37
3.1.2 字符串類型 39
3.1.3 群集類型 45
3.2 變量與運算符 50
3.2.1 變量 50
3.2.2 加減乘除運算 52
3.2.3 比較與賦值運算 56
3.2.4 邏輯運算 57
3.2.5 位運算 58
3.2.6 索引切片運算 60
3.3 重點復習 62
課後練習 64
第4章 流程語句與函數 65
4.1 流程語句 66
4.1.1 if分支判斷 66
4.1.2 while循環 68
4.1.3 for in迭代 70
4.1.4 pass、break、continue 72
4.1.5 for Comprehension 72
4.2 定義函數 74
4.2.1 使用def定義函數 75
4.2.2 參數與自變量 76
4.2.3 一級函數的運用 79
4.2.4 lambda錶達式 83
4.2.5 初探變量作用域 84
4.2.6 yield與yield from 87
4.3 重點復習 90
課後練習 91
第5章 從模塊到類 93
5.1 模塊管理 94
5.1.1 用模塊建立抽象層 94
5.1.2 管理模塊名稱 96
5.1.3 設置PTH文件 99
5.2 初識麵嚮對象 101
5.2.1 定義類 101
5.2.2 定義方法 102
5.2.3 定義內部屬性 105
5.2.4 定義外部屬性 106
5.3 類語法的細節 108
5.3.1 綁定與未綁定方法 108
5.3.2 靜態方法與類方法 110
5.3.3 屬性命名空間 111
5.3.4 定義運算符 114
5.3.5 __new__()、__init__()與__del__() 116
5.4 重點復習 118
課後練習 120
第6章 類的繼承 121
6.1 何謂繼承 122
6.1.1 繼承共同行為 122
6.1.2 鴨子類型 124
6.1.3 重新定義方法 125
6.1.4 定義抽象方法 126
6.2 繼承語法的細節 128
6.2.1 初識object與super() 128
6.2.2 Rich comparison方法 130
6.2.3 使用enum枚舉 132
6.2.4 多重繼承 134
6.2.5 創建ABC(抽象基類) 136
6.2.6 探討super() 138
6.3 文檔與軟件包資源 141
6.3.1 DocStrings 142
6.3.2 查詢官方文檔 145
6.3.3 PyPI與pip 146
6.4 重點復習 147
課後練習 148
第7章 例外處理 149
7.1 語法與繼承結構 150
7.1.1 使用try、except 150
7.1.2 例外繼承結構 153
7.1.3 引發(raise)例外 155
7.1.4 Python例外風格 159
7.1.5 認識堆棧追蹤 160
7.1.6 提齣警告信息 163
7.2 例外與資源管理 165
7.2.1 使用else、finally 165
7.2.2 使用with as 167
7.2.3 實現上下文管理器 169
7.3 重點復習 172
課後練習 173
第8章 open()與io模塊 175
8.1 使用open()函數 176
8.1.1 file與mode參數 176
8.1.2 buffering、encoding、errors、newlines參數 180
8.1.3 stdin、stdout、stderr 181
8.2 高級文件處理 183
8.2.1 認識文件描述符 183
8.2.2 認識io模塊 185
8.3 重點復習 188
課後練習 189
第9章 數據結構 190
9.1 hashable、iterable與orderable 191
9.1.1 hashable協議 191
9.1.2 iterable協議 193
9.1.3 orderable協議 196
9.2 高級群集處理 199
9.2.1 認識群集結構 199
9.2.2 使用collection模塊 201
9.2.3 __getitem__()、__setitem__()、__delitem__() 208
9.2.4 使用collection.abc模塊 209
9.2.5 UserList、UserDict、UserString類 211
9.3 重點復習 211
課後練習 213
第10章 數據持續性與交換 214
10.1 對象序列化 215
10.1.1 使用 pickle 模塊 215
10.1.2 使用 shelve 模塊 217
10.2 數據庫的處理 219
10.2.1 認識 DB-API 2.0 219
10.2.2 使用sqlite3模塊 220
10.2.3 參數化 SQL 語句 222
10.2.4 簡介交易 223
10.3 數據交換格式 227
10.3.1 CSV 227
10.3.2 JSON 231
10.3.3 XML 235
10.4 重點復習 239
課後練習 240
第11章 常用內建模塊 241
11.1 日期與時間 242
11.1.1 時間的度量 242
11.1.2 年曆與時區簡介 243
11.1.3 使用time模塊 245
11.1.4 使用datetime模塊 247
11.2 日誌 251
11.2.1 簡介Logger 251
11.2.2 使用Handler、Formatter與Filter 253
11.2.3 使用logging.config 255
11.3 正則錶達式 258
11.3.1 正則錶達式簡介 258
11.3.2 Pattern與Match對象 263
11.4 文件與目錄 266
11.4.1 使用os模塊 266
11.4.2 使用os.path模塊 268
11.4.3 使用glob模塊 270
11.5 重點復習 272
課後練習 273
第12章 調試、測試與性能 274
12.1 調試 275
12.1.1 認識Debugger 275
12.1.2 使用pdb模塊 277
12.2 測試 281
12.2.1 使用assert斷言 281
12.2.2 編寫doctest 283
12.2.3 使用unittest單元測試 286
12.3 性能 288
12.3.1 timeit模塊 288
12.3.2 使用cProfile(profile) 290
12.4 重點復習 292
課後練習 293
第13章 並發與並行 294
13.1 並發 295
13.1.1 綫程簡介 295
13.1.2 綫程的啓動與停止 297
13.1.3 競爭、鎖定、死鎖 300
13.1.4 等待與通知 303
13.2 並行 307
13.2.1 使用subprocess模塊 307
13.2.2 使用multiprocessing模塊 309
13.3 重點復習 312
課後練習 313
第14章 高級主題 314
14.1 屬性控製 315
14.1.1 描述器 315
14.1.2 定義__slots__ 318
14.1.3 __getattribute__()、__getattr__()、__setattr__()、__delattr__() 320
14.2 裝飾器 321
14.2.1 函數裝飾器 321
14.2.2 類裝飾器 324
14.2.3 方法裝飾器 327
14.3 Meta類 328
14.3.1 認識type類 328
14.3.2 指定metaclass 330
14.3.3 __abstractmethods__ 332
14.4 相對導入 333
14.5 重點復習 335
課後練習 336
附錄A venv 337
附錄B Django簡介 339
序
你會不會做實驗呢?
當然,對於程序設計來說,懂得做實驗是件很重要的事。看到一個函數特性,編寫個範例程序來實驗看看;不懂某條語句及其語法的概念,編寫個程序片段來實驗看看,雖然這不是在做化學實驗或物理實驗,不過有時也會想實驗看看,程序會不會像化學實驗那樣“炸”瞭……
關掉計算機之後,你會不會做實驗呢?
願意從事程序設計的人,按理來說,應該也是樂於做實驗的人,那麼現在就做個實驗吧!關掉計算機、離開桌子,想想除瞭用計算機之外,還能在生活上做些什麼實驗?或者嘗試看看其他事物,看看會有什麼樣的結果。
有沒有對自己的人生做過實驗呢?
這和計算機上做實驗不同,對人生做實驗需要耐心,沒有人能保證何時能有結果,有時人生中看似毫不相關,甚至是失敗的幾個實驗,卻在某個時間點獲得莫名其妙的成果。
有沒有特意對未來的人生進行實驗呢?
你迴想起過去曾經有過的幾次實驗,也許算不上實驗,隻是在隨波逐流的過程中,多少嘗試過做些努力,若在無意識下曾經對人生做過的實驗促成瞭現在的你,那麼現在下意識地對人生做些實驗,未來的自己會是什麼樣子呢?
程序設計很強調Get your hands dirty(要勤寫代碼),彆忘瞭,人生也需要Get your hands dirty(親力親為)!
編 者
2016年9月
Python程序設計教程 下載 mobi pdf epub txt 電子書 格式 2024
Python程序設計教程 下載 mobi epub pdf 電子書講解很詳細,很多細節都講到位
評分京東搞活動,買瞭不少書。
評分還不錯,挺好的。
評分可以,我有c艸基礎,學得賊快……………………
評分感覺還行吧,搞活動纔買的
評分怕被時代拋下,聽說python是人工智能最好的語言,趕緊買瞭書來增值自己,希望不會白買。
評分每次打摺的時候都經不起誘惑屯書……
評分還沒開始看,活動時買的,特彆劃算
評分東西還不錯,物流非常快~
Python程序設計教程 mobi epub pdf txt 電子書 格式下載 2024