 
			 
				
《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月
說實話,我之前嘗試過學習Java和C++,但都因為概念太抽象、語法太嚴謹而半途而廢。這次選擇Python,很大程度上是因為朋友推薦,說它上手快,應用廣。我拿到《Python程序設計教程》後,最直觀的感受就是它的“平易近人”。書中的每個章節都循序漸進,從最基本的變量、數據類型講起,然後是控製流,再到更復雜的麵嚮對象編程。最讓我驚喜的是,作者在講解每一個新概念時,都會提供非常清晰、易懂的示例代碼,而且這些代碼我都可以在自己的電腦上運行,看到預期的結果,這種即時反饋極大地增強瞭我的學習動力。書中沒有過多地使用晦澀難懂的專業術語,即使有,作者也會用通俗易懂的語言進行解釋。我尤其喜歡其中關於“列錶推導式”的講解,作者通過幾個由簡入繁的例子,讓我迅速掌握瞭這個非常有用的Python特性,讓原本需要幾行代碼纔能實現的功能,現在一行就能搞定,效率提升巨大。此外,書中還涉及瞭一些常用的庫,比如Numpy和Pandas,雖然隻是初步介紹,但已經讓我看到瞭Python在數據分析領域的強大潛力,這讓我對未來的學習方嚮更加明確。這本書真的就像一位耐心的老師,一步一步地引導我,讓我從零基礎逐漸建立起瞭紮實的Python編程基礎。
評分我一直對編程充滿好奇,但總覺得入門門檻很高,尤其是那些看起來就復雜的語言。偶然間在書店看到瞭《Python程序設計教程》,當時被它的封麵設計吸引,感覺很親切,沒有那種“技術書籍”的生硬感。拿到手裏翻瞭翻,裏麵的排版和字體都讓我覺得很舒服,文字描述也比較生動,不像我之前看過的某些書籍那樣乾巴巴地堆砌代碼和概念。我本來隻是抱著試試看的心態,想著先瞭解一下Python是什麼,但沒想到越看越覺得有意思。書裏講解基礎知識的時候,會穿插一些小例子,這些例子都挺貼近生活的,比如用Python來算賬、模擬一些簡單的遊戲,讓我覺得編程不再是遙不可及的事情,而是可以解決實際問題的工具。特彆是作者講解函數的時候,用瞭“積木”的比喻,一下子就讓我理解瞭函數的作用和如何構建,之前看其他資料總覺得雲裏霧裏,這次終於茅塞頓開。而且,書中還特彆強調瞭代碼的可讀性,這一點對我這種新手來說太重要瞭,很多時候寫齣來的代碼自己都看不懂,更彆說彆人瞭,這本書讓我明白寫齣“好看”的代碼和寫齣“能運行”的代碼同樣重要。我目前纔看到一半,但已經迫不及待想要繼續學習下去,感覺這本書真的把我帶進瞭Python的世界,讓我對編程有瞭全新的認識和熱情。
評分我從事一份需要處理大量數據的工作,之前一直依賴Excel,但隨著數據量的增大,Excel已經顯得力不從心,效率低下。聽同事推薦說Python在數據處理方麵非常強大,於是我購買瞭《Python程序設計教程》。我最看重的是這本書的實用性。它不像一些純理論的書籍,而是直接切入Python在實際應用中的優勢。書中關於“數據清洗”和“數據可視化”的章節,對我來說簡直是福音。作者用非常清晰的步驟,展示瞭如何使用Pandas庫來讀取、處理、轉換各種格式的數據,並且通過Matplotlib庫創建齣各種圖錶,直觀地展示數據之間的關係。我尤其對書中講解如何處理缺失值和異常值的部分印象深刻,這正是我工作中經常遇到的難題。作者提供的解決方案清晰易懂,我按照書中的方法,成功地解決瞭睏擾我很久的數據質量問題。而且,這本書的語言風格非常親切,不像有些技術書那樣冰冷。作者在講解過程中,會時不時分享一些自己的學習心得和編程的“小竅門”,讓我覺得像是在和一位經驗豐富的同行交流,學習的過程充滿瞭樂趣,而不是枯燥的記憶。這本書讓我覺得,掌握Python,我似乎找到瞭解決工作瓶頸的鑰匙。
評分我是一個對技術充滿熱情但又有點“手殘”的愛好者,總覺得要學好編程需要極高的智商和天賦。《Python程序設計教程》的齣現,徹底改變瞭我的看法。這本書最讓我覺得難能可貴的是它的“循序漸進”和“寓教於樂”。作者並沒有一開始就拋齣復雜的概念,而是從最基礎的Python環境搭建開始,一步一步地引導讀者。我特彆喜歡書中的“案例驅動”的學習方式。每一個知識點在講解後,都會緊接著一個相關的、有趣的例子。比如,在講解字符串操作時,作者就設計瞭一個簡單的“猜單詞”小遊戲,讓我能夠立刻將學到的知識應用到實際操作中,這種即時性的練習不僅加深瞭記憶,也帶來瞭巨大的成就感。書中還專門開闢瞭一個章節講解“代碼風格和規範”,這讓我意識到,寫齣“優雅”的代碼同樣重要,並且作者給齣瞭非常具體、可操作的建議,讓我從一開始就養成良好的編程習慣。我之前覺得麵嚮對象編程是個很高級的概念,但在書中,作者用“類比”的方式,將它解釋得非常生動有趣,讓我不再畏懼。總而言之,這本書讓我覺得,編程並非高不可攀,而是可以通過耐心和正確的方法,人人都可以掌握的技能。
評分我是一名即將畢業的學生,正在為畢業設計尋找閤適的工具。之前接觸過一些編程,但都沒有係統學習過。《Python程序設計教程》是我在網上看到的推薦,當時就被“零基礎入門”這個標簽吸引瞭。拿到書後,我發現它確實名副其實。書的結構非常閤理,從最基礎的安裝配置到Python的語法特性,再到文件操作、異常處理,幾乎涵蓋瞭一個初學者需要掌握的所有核心知識點。我最喜歡的是它在講解“文件I/O”的部分,作者給齣瞭一個非常實用的例子,如何讀取一個文本文件,然後進行簡單的統計分析,這對於我的畢業設計非常有啓發。而且,書中的代碼示例都非常簡潔明瞭,不像有些教程那樣充斥著大量的“模闆化”代碼,讓人看瞭就頭疼。作者在講解每一種數據結構時,都會清晰地說明它的特點和適用場景,比如列錶、元組、字典之間的區彆,以及什麼時候應該使用哪一種,這讓我能夠更好地理解和運用它們。另外,書中還穿插瞭一些關於“調試技巧”的內容,這對於我來說尤為重要,因為新手常常會遇到各種各樣奇怪的錯誤,學會如何有效地找到並修復bug,能節省大量的時間和精力。總體來說,這本書為我打下瞭堅實的Python基礎,讓我對接下來的項目開發充滿瞭信心。
評分書的內容沒的說,都很詳細,不過建議新手先看爬蟲的那本,程序設計教程有點不太好理解,陌生的東西有點多,
評分一般不差評,對此商品錶示滿意。
評分不錯不錯……………………
評分非常不錯的選擇,值得擁有的好東西!
評分馬上查瞭一下,還不錯!
評分內容清晰!質量好,很適閤基礎入門,群友特意來支持老師!非常感謝!
評分趁六一八買瞭很多書,到現在還沒看完,價格很實惠,剛好買一些工具書充實一下。
評分東西不錯,質量挺好,以後可以繼續關注
評分書還可以,不過沒有現成的範例代碼什麼的,發郵件提示去網站下,結果如圖……
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有