Python編程導論 第2版

Python編程導論 第2版 下載 mobi epub pdf 電子書 2025

[美] 約翰·榖泰格 著,陳光欣 譯
圖書標籤:
  • Python
  • 編程入門
  • Python 3
  • 數據結構
  • 算法
  • 麵嚮對象編程
  • 第二版
  • 計算機科學
  • 編程導論
  • 初學者
  • 教程
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115473769
版次:1
商品編碼:12323267
包裝:平裝
叢書名: 圖靈程序設計叢書
開本:16開
齣版時間:2018-02-01
用紙:膠版紙
頁數:328
正文語種:中文

具體描述

産品特色

編輯推薦

掌握多種不同的思維方式是每個人在大學時代的必修課。具備使用計算思維解決問題的能力是程序員入門的基本技能。本書基於作者開授的MIT熱門MOOC教程編寫,旨在培養讀者的計算思維,為其日後的IT生涯打下堅實的編程基礎。

- 以Python 3為示例,涵蓋Python大部分特性,重在介紹編程語言可以做什麼
- 如何係統性地組織、編寫、調試中等規模的程序
- 理解計算復雜度
- 將模糊的問題描述轉化為明確的計算方法,以此解決問題,並深刻理解整個過程
- 掌握有用的算法以及問題簡化技術
- 使用隨機性和模擬技術清晰闡述很難得到封閉解的問題
- 使用計算工具(包括簡單的統計、可視化以及機器學習工具)對數據進行理解與建模

內容簡介

本書基於MIT 編程思維培訓講義寫成,主要目標在於幫助讀者掌握並熟練使用各種計算技術,具備用計算思維解決現實問題的能力。書中以Python 3 為例,介紹瞭對中等規模程序的係統性組織、編寫、調試,幫助讀者深入理解計算復雜度,還講解瞭有用的算法和問題簡化技術,並探討各類計算工具的使用。與本書* 1版相比,* 2版全麵改寫瞭後半部分,且書中所有示例代碼都從Python 2 換成瞭Python 3。
本書適閤對編程知之甚少但想要使用計算方法解決問題的讀者。

作者簡介

John V. Guttag
1999年~2004年任MIT電氣工程與計算機科學係主任,所授計算機科學係列導論課程深受學生歡迎。目前為計算機科學與人工智能實驗室網絡及移動係統組聯閤負責人,還進行軟件工程、機器定理證明、硬件驗證等領域的研究以及培訓工作。獲美國布朗大學英語專業學士學位、應用數學碩士學位,多倫多大學計算機科學博士學位。

目錄

第1章 啓程 1

第2章 Python簡介 6

2.1 Python基本元素 7

2.1.1 對象、錶達式和數值類型 8

2.1.2 變量與賦值 9

2.1.3 Python IDE 11

2.2 程序分支 12

2.3 字符串和輸入 14

2.3.1 輸入 15

2.3.2 雜談字符編碼 16

2.4 迭代 17

第3章 一些簡單的數值程序 20

3.1 窮舉法 20

3.2 for循環 22

3.3 近似解和二分查找 24

3.4 關於浮點數 27

3.5 牛頓 拉弗森法 29

第4章 函數、作用域與抽象 31

4.1 函數與作用域 32

4.1.1 函數定義 32

4.1.2 關鍵字參數和默認值 33

4.1.3 作用域 34

4.2 規範 37

4.3 遞歸 39

4.3.1 斐波那契數列 40

4.3.2 迴文 42

4.4 全局變量 45

4.5 模塊 46

4.6 文件 47

第5章 結構化類型、可變性與

高階函數 50

5.1 元組 50

5.2 範圍 52

5.3 列錶與可變性 52

5.3.1 剋隆 57

5.3.2 列錶推導 57

5.4 函數對象 58

5.5 字符串、元組、範圍與列錶 60

5.6 字典 61

第6章 測試與調試 65

6.1 測試 65

6.1.1 黑盒測試 66

6.1.2 白盒測試 68

6.1.3 執行測試 69

6.2 調試 70

6.2.1 學習調試 72

6.2.2 設計實驗 72

6.2.3 遇到麻煩時 75

6.2.4 找到“目標”錯誤之後 76

第7章 異常與斷言 77

7.1 處理異常 77

7.2 將異常用作控製流 80

7.3 斷言 82

第8章 類與麵嚮對象編程 83

8.1 抽象數據類型與類 83

8.1.1 使用抽象數據類型設計程序 87

8.1.2 使用類記錄學生與教師 87

8.2 繼承 90

8.2.1 多重繼承 92

8.2.2 替換原則 93

8.3 封裝與信息隱藏 94

8.4 進階示例:抵押貸款 99

第9章 算法復雜度簡介 103

9.1 思考計算復雜度 103

9.2 漸近錶示法 106

9.3 一些重要的復雜度 107

9.3.1 常數復雜度 107

9.3.2 對數復雜度 108

9.3.3 綫性復雜度 108

9.3.4 對數綫性復雜度 109

9.3.5 多項式復雜度 109

9.3.6 指數復雜度 111

9.3.7 復雜度對比 112

* 10章 一些簡單算法和數據結構 114

10.1 搜索算法 115

10.1.1 綫性搜索與間接引用元素 115

10.1.2 二分查找和利用假設 116

10.2 排序算法 119

10.2.1 歸並排序 120

10.2.2 將函數用作參數 122

10.2.3 Python中的排序 123

10.3 散列錶 124

* 11章 繪圖以及類的進一步擴展 128

11.1 使用PyLab繪圖 128

11.2 進階示例:繪製抵押貸款 133

* 12章 背包與圖的* 優化問題 139

12.1 背包問題 139

12.1.1 貪婪算法 140

12.1.2 0/1背包問題的* 優解 143

12.2 圖的* 優化問題 145

12.2.1 一些典型的圖論問題 149

12.2.2 * 短路徑:深度優先搜索和

廣度優先搜索 149

* 13章 動態規劃 155

13.1 又見斐波那契數列 155

13.2 動態規劃與0/1背包問題 157

13.3 動態規劃與分治算法 162

* 14章 隨機遊走與數據可視化 163

14.1 隨機遊走 163

14.2 醉漢遊走 164

14.3 有偏隨機遊走 170

14.4 變幻莫測的田地 175

* 15章 隨機程序、概率與分布 178

15.1 隨機程序 178

15.2 計算簡單概率 180

15.3 統計推斷 180

15.4 分布 192

15.4.1 概率分布 194

15.4.2 正態分布 195

15.4.3 連續型和離散型均勻分布 199

15.4.4 二項式分布與多項式分布 200

15.4.5 指數分布和幾何分布 200

15.4.6 本福德分布 203

15.5 散列與碰撞 204

15.6 強隊的獲勝概率 206

* 16章 濛特卡羅模擬 208

16.1 帕斯卡的問題 209

16.2 過綫還是不過綫 210

16.3 使用查錶法提高性能 213

16.4 求π的值 214

16.5 模擬模型結束語 218

第* 章 抽樣與置信區間 220

17.1 對波士頓馬拉鬆比賽進行抽樣 220

17.2 中心極限定理 225

17.3 均值的標準誤差 228

第* 章 理解實驗數據 231

18.1 彈簧的行為 231

18.2 彈丸的行為 238



18.2.1 可決係數 240

18.2.2 使用計算模型 241

18.3 擬閤指數分布數據 242

18.4 當理論缺失時 245

第* 章 隨機試驗與假設檢驗 247

19.1 檢驗顯著性 248

19.2 當心P-值 252

19.3 單尾單樣本檢驗 254

19.4 是否顯著 255

19.5 哪個N 257

19.6 多重假設 258

第* 章 條件概率與貝葉斯統計 261

20.1 條件概率 262

20.2 貝葉斯定理 263

20.3 貝葉斯更新 264

第* 章 謊言、該死的謊言與統計學 267

21.1 垃圾輸入,垃圾輸齣 267

21.2 檢驗是有缺陷的 268

21.3 圖形會騙人 268

21.4 Cum Hoc Ergo Propter Hoc 270

21.5 統計測量不能說明所有問題 271

21.6 抽樣偏差 272

21.7 上下文很重要 273

21.8 慎用外推法 273

21.9 得剋薩斯神槍手謬誤 274

21.10 莫名其妙的百分比 276

21.11 不顯著的顯著統計差彆 276

21.12 迴歸假象 277

21.13 小心為上 278

第* 章 機器學習簡介 279

22.1 特徵嚮量 281

22.2 距離度量 283

第* 章 聚類 288

23.1 Cluster類 289

23.2 K-均值聚類 291

23.3 虛構示例 292

23.4 更真實的示例 297

第* 章 分類方法 303

24.1 分類器評價 303

24.2 預測跑步者的性彆 306

24.3 K-* 鄰近方法 308

24.4 基於迴歸的分類器 312

24.5 從“泰坦尼剋”號生還 320

24.6 總結 325

Python 3.5速查錶 326
《Python編程導論(第二版)》內容摘要 本書是一本麵嚮初學者的Python編程入門指南,旨在幫助讀者掌握Python語言的基礎知識和核心概念,為後續深入學習打下堅實基礎。全書共分為十五章,內容循序漸進,邏輯清晰,注重理論與實踐相結閤,力求讓讀者在輕鬆愉快的氛圍中掌握編程技能。 第一章:初識Python 本章將帶領讀者踏入Python的奇妙世界。首先,我們會簡要介紹Python語言的起源、發展以及其在當今科技領域中的廣泛應用,例如Web開發、數據科學、人工智能、自動化運維等,讓讀者對其産生濃厚的興趣和初步的認識。接著,我們將指導讀者如何下載和安裝Python解釋器,以及選擇並配置一款適閤初學者的集成開發環境(IDE),例如PyCharm、VS Code等。通過實際操作,讀者將能夠成功搭建起自己的Python開發環境,為接下來的學習做好準備。最後,本章將呈現一個簡單的“Hello, World!”程序,通過這個最基礎的示例,讓讀者親身體驗編寫、運行Python代碼的過程,並理解代碼是如何被執行的。 第二章:Python基礎語法 本章是學習Python的基石。我們將詳細講解Python的核心語法元素,包括變量的聲明與賦值、不同數據類型(如整數、浮點數、字符串、布爾值)的特點與使用。我們會深入探討Python強大的數據結構,如列錶(list)、元組(tuple)、字典(dictionary)和集閤(set),講解它們的創建、訪問、修改以及常用的操作方法,並分析它們各自的適用場景。此外,本章還將介紹Python的運算符,包括算術運算符、比較運算符、邏輯運算符、賦值運算符等,以及運算符的優先級規則,幫助讀者理解錶達式的求值過程。注釋在代碼編寫中的重要性也會被強調,我們將介紹單行注釋和多行注釋的使用方法,以及如何通過注釋提高代碼的可讀性。 第三章:流程控製 掌握流程控製是編寫有邏輯、能解決問題的程序設計的關鍵。本章將詳細介紹Python的條件語句,包括`if`、`elif`和`else`語句,講解如何根據不同的條件執行不同的代碼塊。通過豐富的示例,讀者將學會如何構建復雜的條件判斷邏輯。接著,我們將深入學習循環結構,包括`for`循環和`while`循環。`for`循環將重點講解如何遍曆序列(如字符串、列錶、元組、字典的鍵),以及`range()`函數的妙用。`while`循環則會介紹其基本用法和退齣條件。此外,我們還將講解`break`和`continue`語句,它們是如何控製循環的執行流程的,以及`pass`語句的占位作用。 第四章:函數:代碼的組織者 函數是實現代碼復用和模塊化設計的核心。本章將引導讀者理解函數的概念,學習如何定義自己的函數,包括函數名、參數和返迴值。我們將詳細講解參數的傳遞方式,包括位置參數、關鍵字參數、默認參數以及可變參數(`args`和`kwargs`)。通過深入理解參數,讀者可以編寫齣更加靈活和通用的函數。函數的作用域,包括局部變量和全局變量,以及它們之間的區彆和相互影響,也將是本章的重點內容。此外,我們將介紹Python內置函數的使用,如`print()`、`len()`、`type()`等,並展示如何利用它們來簡化編程。 第五章:模塊與包 為瞭更好地組織和管理代碼,Python提供瞭模塊和包的機製。本章將詳細講解如何創建和使用模塊,以及如何導入其他模塊(如`import`、`from ... import ...`、`import ... as ...`)。我們將介紹Python的標準庫,這是一個包含瞭大量常用功能的模塊集閤,並選取一些常用的標準庫模塊進行演示,如`math`、`random`、`os`、`sys`等。同時,本章還將介紹如何組織和創建自己的包,以及如何進行包的安裝和管理,為讀者構建大型項目奠定基礎。 第六章:文件操作 數據持久化是編程中不可或缺的一環。本章將帶領讀者學習如何與文件進行交互,包括文件的打開、讀取、寫入和關閉。我們將介紹不同的文件打開模式(如讀模式`'r'`、寫模式`'w'`、追加模式`'a'`)以及它們的作用。同時,我們還將講解如何處理文本文件和二進製文件,以及如何使用`with`語句來確保文件被正確關閉,避免資源泄露。 第七章:異常處理 在程序運行過程中,錯誤和異常是難免的。本章將重點介紹Python的異常處理機製。我們將講解如何使用`try`、`except`、`else`和`finally`語句來捕獲和處理異常,從而提高程序的健壯性。通過學習常見的內置異常類型,讀者將能夠更好地理解錯誤發生的原因,並編寫齣更魯棒的代碼。 第八章:麵嚮對象編程(OOP)基礎 麵嚮對象編程是現代軟件開發的主流範式。本章將為讀者引入麵嚮對象編程的核心概念,包括類(class)和對象(object)。我們將講解如何定義類,包括屬性(數據成員)和方法(成員函數)。然後,我們將介紹如何創建類的實例(對象),以及如何通過對象訪問其屬性和調用其方法。構造函數(`__init__`方法)的用法,以及實例方法和類方法之間的區彆,也將被詳細講解。 第九章:麵嚮對象編程(OOP)進階 在本章中,我們將進一步深入麵嚮對象編程的世界。我們將詳細講解麵嚮對象編程的四大特性:封裝、繼承、多態和抽象。封裝將幫助讀者理解如何隱藏對象的內部細節,隻暴露必要的接口。繼承將展示如何通過創建子類來擴展和重用父類的功能。多態將解釋如何讓不同的對象對同一個消息做齣不同的響應。抽象將引導讀者理解如何設計通用的接口和基類。此外,本章還將介紹魔術方法(如`__str__`、`__len__`等)的用法,以及如何通過運算符重載來增強類的功能。 第十章:數據結構進階 在掌握瞭基本數據結構後,本章將帶領讀者探索更高級的數據結構和算法。我們將深入講解列錶推導式(list comprehension)和字典推導式(dictionary comprehension),它們能夠以更簡潔優雅的方式創建列錶和字典。此外,我們還將介紹更復雜的序列處理技巧,以及如何使用內置函數和模塊來高效地處理數據。 第十一章:迭代器與生成器 迭代器和生成器是Python中實現惰性求值和高效內存管理的強大工具。本章將詳細講解迭代器協議,以及如何創建自定義迭代器。接著,我們將重點介紹生成器(generator)的概念,以及如何使用`yield`關鍵字來創建生成器函數。通過生成器,讀者可以處理大規模數據集,而無需一次性將所有數據加載到內存中。 第十二章:裝飾器 裝飾器是一種強大的Python語法糖,可以動態地修改函數或類的行為。本章將詳細講解裝飾器的原理,以及如何使用裝飾器來簡化代碼、實現日誌記錄、性能分析、權限控製等功能。通過實際案例,讀者將能夠理解裝飾器的應用場景和編寫方法。 第十三章:正則錶達式 正則錶達式是處理和匹配文本的強大工具。本章將介紹正則錶達式的基本語法,包括字符匹配、量詞、分組、斷言等。我們將講解如何使用Python的`re`模塊來執行查找、替換、分割等操作,並演示如何使用正則錶達式來解決實際的文本處理問題,如數據清洗、驗證用戶輸入等。 第十四章:數據庫交互 數據存儲是應用程序的重要組成部分。本章將介紹如何使用Python與數據庫進行交互。我們將以SQLite為例,講解如何連接數據庫、創建錶、插入、查詢、更新和刪除數據。讀者將學習如何使用SQL語句來操作數據庫,並瞭解Python中與數據庫交互的常用庫和最佳實踐。 第十五章:項目實踐 理論學習需要實踐的檢驗。本章將提供幾個小型實戰項目,將前麵所學知識融會貫通。這些項目可能涵蓋簡單的命令行工具、文本處理程序、數據分析小應用等。通過動手實踐,讀者將能夠鞏固所學知識,提升解決實際問題的能力,並為未來的開發項目積纍寶貴的經驗。 通過對本書內容的學習,讀者將能夠紮實掌握Python編程的基礎,具備獨立編寫簡單Python程序的能力,並為進一步深入學習Python的各個領域打下堅實的基礎。

用戶評價

評分

作為一個需要處理大量文本數據的研究人員,我一直在尋找一款能夠快速高效處理文本的工具,Python自然而然地成為瞭我的首選。這本書,絕對是我遇到的最實用的Python入門書籍之一。它非常注重實際應用,尤其是在文本處理方麵,講解得非常透徹。從字符串的各種操作,到正則錶達式的強大功能,再到文件I/O的詳細解析,每一個環節都緊密圍繞著我日常的工作需求。我特彆喜歡書中關於正則錶達式的部分,它用非常直觀的方式解釋瞭復雜的匹配規則,並通過大量的實例演示,讓我能夠快速掌握如何提取文本中的關鍵信息,進行模式匹配和替換。此外,書中關於數據結構(如列錶、字典)的應用講解,也讓我對如何組織和管理文本數據有瞭更深刻的理解。這本書的語言風格也非常親切,沒有過多的學術術語,而是用最接地氣的方式來解釋技術概念,這對於我這樣非計算機專業的讀者來說,簡直是福音。

評分

我一直對數據科學和機器學習領域充滿好奇,而Python無疑是通往這個領域的必經之路。這本書,雖然名字是“導論”,但它所涵蓋的廣度和深度,遠超我的想象。它不僅僅是教你Python的語法,更像是為你打開瞭一扇通往更廣闊技術世界的大門。書中在講解完基礎知識後,迅速切入瞭數據處理和分析的核心,通過Pandas等庫的實際應用,我學會瞭如何清洗、轉換、閤並和分析數據,這些都是在實際工作中不可或缺的技能。更讓我驚喜的是,書中還涉及到瞭基礎的機器學習算法的介紹,雖然篇幅不長,但足以讓我對KNN、決策樹等概念有一個初步的認識,並能通過簡單的代碼實現來體驗。這種理論與實踐緊密結閤的方式,讓我覺得學到的知識真正能夠落地,而不是停留在紙麵上。我曾經嘗試過一些在綫教程,但總覺得缺乏係統性和連貫性,而這本書的邏輯結構非常清晰,從易到難,循序漸進,每章都建立在前一章的基礎上,讓我感覺學習過程非常順暢。

評分

一直以來,我都覺得編程是一件很神秘的事情,遙不可及。直到我翻開瞭這本書。它真的像一本“導論”,把我從完全的門外漢,一步步帶入瞭編程的殿堂。我最喜歡的是它那種“潤物細無聲”的教學方式,不會一上來就給你灌輸大量概念,而是通過一個個小的、可執行的代碼片段,讓你在實踐中感受編程的魅力。從最簡單的“Hello, World!”開始,到如何進行簡單的計算,再到如何讓程序做齣簡單的判斷和循環,每一步都充滿瞭驚喜。這本書讓我明白,編程並不是隻有高智商的人纔能掌握的技能,而是可以通過學習和練習,人人都可以掌握的工具。它讓我對計算機的運行方式有瞭更直觀的認識,也讓我看到瞭通過代碼來創造和解決問題的可能性。書中的錯誤處理和調試技巧的講解,也讓我明白瞭在編程過程中遇到問題是常態,更重要的是學會如何去解決它們。

評分

我是一名軟件開發愛好者,雖然之前接觸過一些其他的編程語言,但總感覺不夠靈活和方便。Python以其簡潔的語法和強大的生態係統吸引瞭我。這本書,為我提供瞭一個非常好的起點。它不僅僅教授瞭Python的基礎語法,更重要的是,它教會瞭我如何利用Python來解決實際問題。書中關於麵嚮對象編程(OOP)的講解,是我學習的重點和難點,但這本書的處理方式非常巧妙,通過生動的例子,將抽象的概念具象化,讓我對類、對象、繼承、多態等概念有瞭清晰的認識。同時,書中還涉及到瞭常用庫的使用,例如用於網絡爬蟲的Requests庫,以及用於數據可視化的Matplotlib庫,這些都極大地拓寬瞭我的視野,讓我看到瞭Python在實際項目中的巨大潛力。這本書的閱讀體驗也非常棒,每一章節的學習都讓我感到充實和進步,我仿佛能夠看到自己代碼能力在不斷提升。

評分

初次接觸Python,感覺就像是打開瞭一個全新的世界。這本書就像一位經驗豐富的老船長,帶領我這個新手在浩瀚的Python海洋裏 navigates 。它不僅僅是枯燥的代碼堆砌,而是充滿瞭生動有趣的例子,讓我能夠循序漸進地理解每一個概念。從最基礎的變量、數據類型,到復雜的函數、類,再到後麵涉及的文件操作、模塊導入,每一步都講解得詳詳細細,而且重點突齣,讓我這個完全沒有編程基礎的人也能跟上節奏。我尤其喜歡書中對某些關鍵概念的類比解釋,比如把函數比作一個“小工廠”,把類比作“藍圖”,這些形象的比喻大大降低瞭理解的門檻。更重要的是,它不僅僅教我“怎麼做”,更會讓我理解“為什麼這麼做”,培養瞭我解決問題的思路。書中的練習題也很有代錶性,雖然有些題目一開始會讓我絞盡腦汁,但當我最終找到解決方案時,那種成就感是無與倫比的。而且,這本書的排版也相當人性化,代碼塊清晰明瞭,關鍵術語也做瞭加粗處理,閱讀起來非常舒適。我感覺自己不再是那個麵對代碼就頭暈的菜鳥瞭,至少,我現在敢於去嘗試,敢於去構建自己的第一個小程序瞭。

評分

公開課一直有看,現在第二版的中文版決定買來看一看~

評分

配閤課程買的書,結果課沒怎麼聽,,,,,,,

評分

圖靈公眾號推薦,名師講解係列,必須先擁有,好

評分

內容不用說瞭,邊啃慕課邊看;隻是官方安利顔值爆炸,怕是隻有封麵有顔值而已吧。。。比起《程序員的英語》頁麵顔值差遠瞭

評分

第二版比第一版好很多 質量還不錯

評分

內容不用說瞭,邊啃慕課邊看;隻是官方安利顔值爆炸,怕是隻有封麵有顔值而已吧。。。比起《程序員的英語》頁麵顔值差遠瞭

評分

Python編程導論 第2版Python編程導論 第2版Python編程導論 第2版Python編程導論 第2版

評分

這本書是MIT的課程,適閤初學看,但是比國內課程講的細,也有一些高度,還是挺不錯的。

評分

打算學習Python,看評價還不錯,買來學習一下

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有