適合初學者入門也適合Python就業的圖書《瘋狂Python講義》(高清,帶書籤,可複製,附帶源碼)

國內少見的面向入門選手的手冊型做品,其覆蓋面極廣,基本涉及到了Python初級階段的全部內容html

公衆號回覆關鍵字 11762直接獲取下載連接

  1. 點擊 ebooklist.mobi/2019/05/28/…原文連接訪問面試

  2. 公衆號回覆 11762 獲取下載地址,關注公衆號資源分享,視頻教程應有盡有!歡迎關注一塊兒學習! 正則表達式

    掃碼關注公衆號

簡介......

瘋狂Python講義

《瘋狂Python講義》既是一本適合初學者入門Python的圖書(一個8歲的小朋友在未出版前已學習了本書不少章節並動手寫出了本身的程序);這也是一本適合Python就業的圖書,由於本書涵蓋了網絡編程、數據分析、網絡爬蟲等大量企業實用的知識。shell

《瘋狂Python講義》全面而深刻介紹了Python編程的相關內容,全書內容大體可分爲四個部分,第一部分系統講解了Python的基本語法結構、Python的函數編程、Python的類和對象、模塊和包、異常處理等核心語法;第二部分主要介紹Python經常使用的內置模塊和包,這部分包括Python的JSON、正則表達式支持、容器相關類、collections包、Tkinter GUI編程、IO編程、數據庫編程、併發編程、網絡通訊編程等內容,這部份內容既是掌握Python編程的核心,也是Python進階的關鍵基礎;第三部分主要介紹Python開發工程化方面的內容,包括如何爲Python程序編寫符合格式的文檔註釋、提取文檔註釋生成幫助文檔,爲Python程序編寫測試用例,程序打包等內容;第四部分則屬於「Python項目實戰」,這部分引入了pygame、Matplotlib、Pygal、Scrapy這些第三方的包,經過項目介紹了Python遊戲開發、大數據展現、網絡爬蟲等熱門技能,尤爲是網絡爬蟲和大數據展現,絕對是當下Python最熱的就業崗位。數據庫

與「瘋狂體系」圖書相似,雖然我會盡可能讓《瘋狂Python講義》的講解通俗易懂(畢竟一個8歲的小朋友也能閱讀此書),但我創做「瘋狂體系」圖書的初衷歷來就不是「簡單」和「入門」,本書所覆蓋的Python的深度和廣度,是不少書籍所不能比擬的,《瘋狂Python講義》涉及大量實用案例開發:五子棋遊戲、畫圖板、桌面彈球、合金彈頭、大數據展現、基於網絡的各國GDP對比、基於爬蟲的招聘熱點分析、基於爬蟲的高清圖片下載、基於Scrapy+Seleninum的微博登陸……設計這些案例的初衷不是「簡單」和「入門」,而是讓讀者學以至用、激發編程自豪感,進而引爆心裏的編程激情。所以那些僅圖簡單的讀者,建議不要選擇此書。《瘋狂Python講義》課後習題共包括110道按部就班的Python練習題(面試題),讀者可經過這些練習題鞏固所學、爲面試作準備。若是讀者須要獲取關於課後習題的解決方法、編程思路,能夠登陸http://www.crazyit.org站點或關注「瘋狂圖書」微信服務號。編程

《瘋狂Python講義》爲全部打算深刻掌握Python編程的讀者而編寫,適合各類層次的Python學習者和工做者閱讀,也適合做爲大學教育、培訓機構的Python教材。但若是隻是想簡單涉獵Python,則本書過於龐大,不適合閱讀。 目錄 · · · · · · 第1章 Python語言概述和開發環境 1 1.1 Python簡介 2 1.1.1 Python簡史 2 1.1.2 Python的特色 3 1.2 Python程序運行機制 3 1.3 開發Python的準備 4 1.3.1 在Windows上安裝Python 5 1.3.2 在Linux上安裝Python 6 1.3.3 在Mac OS X上安裝Python 7 1.4 第一個Python程序 8 1.4.1 編輯Python源程序 8 1.4.2 使用IDLE運行Python程序 8 1.4.3 使用命令行工具運行Python程序 9 1.5 交互式解釋器 11 1.6 本章小結 12 本章練習 12 第2章 變量和簡單類型 13 2.1 單行註釋和多行註釋 14 2.2 變量 15 2.2.1 Python是弱類型語言 15 2.2.2 使用print函數輸出變量 16 2.2.3 變量的命名規則 17 2.2.4 Python的關鍵字和內置函數 18 2.3 數值類型 19 2.3.1 整型 19 2.3.2 浮點型 21 2.3.3 複數 21 2.4 字符串入門 22 2.4.1 字符串和轉義字符 22 2.4.2 拼接字符串 23 2.4.3 repr和字符串 23 2.4.4 使用input和raw_input獲取用戶輸入 24 2.4.5 長字符串 25 2.4.6 原始字符串 26 2.4.7 字節串(bytes) 26 2.5 深刻使用字符串 28 2.5.1 轉義字符 28 2.5.2 字符串格式化 29 2.5.3 序列相關方法 31 2.5.4 大小寫相關方法 32 2.5.5 刪除空白 33 2.5.6 查找、替換相關方法 34 2.5.7 分割、鏈接方法 35 2.6 運算符 36 2.6.1 賦值運算符 36 2.6.2 算術運算符 37 2.6.3 位運算符 39 2.6.4 擴展後的賦值運算符 42 2.6.5 索引運算符 42 2.6.6 比較運算符與bool類型 42 2.6.7 邏輯運算符 44 2.6.8 三目運算符 45 2.6.9 in運算符 46 2.6.10 運算符的結合性和優先級 46 2.7 本章小結 47 本章練習 47 第3章 列表、元組和字典 49 3.1 序列簡介 50 3.1.1 Python的序列 50 3.1.2 建立列表和元組 50 3.2 列表和元組的通用用法 51 3.2.1 經過索引使用元素 51 3.2.2 子序列 51 3.2.3 加法 52 3.2.4 乘法 52 3.2.5 in運算符 53 3.2.6 長度、最大值和最小值 53 3.2.7 序列封包和序列解包 54 3.3 使用列表 55 3.3.1 建立列表 55 3.3.2 增長列表元素 56 3.3.3 刪除列表元素 57 3.3.4 修改列表元素 58 3.3.5 列表的其餘經常使用方法 59 3.4 使用字典 61 3.4.1 字典入門 61 3.4.2 建立字典 62 3.4.3 字典的基本用法 63 3.4.4 字典的經常使用方法 64 3.4.5 使用字典格式化字符串 67 3.5 本章小結 67 本章練習 67 第4章 流程控制 68 4.1 順序結構 69 4.2 if分支結構 69 4.2.1 不要忘記縮進 70 4.2.2 不要隨意縮進 72 4.2.3 不要遺忘冒號 73 4.2.4 if條件的類型 73 4.2.5 if分支的邏輯錯誤 74 4.2.6 if表達式 75 4.2.7 pass語句 75 4.3 斷言 76 4.4 循環結構 76 4.4.1 while循環 77 4.4.2 使用while循環遍歷列表和元組 78 4.4.3 for-in循環 79 4.4.4 使用for-in循環遍歷列表和元組 79 4.4.5 使用for-in循環遍歷字典 80 4.4.6 循環使用else 81 4.4.7 嵌套循環 83 4.4.8 for表達式 84 4.4.9 經常使用工具函數 86 4.5 控制循環結構 87 4.5.1 使用break結束循環 88 4.5.2 使用continue忽略本次循環的剩下語句 89 4.5.3 使用return結束方法 89 4.6 牛刀小試 90 4.6.1 數字轉人民幣讀法 90 4.6.2 繞圈圈 92 4.6.3 控制檯五子棋 93 4.6.4 控制檯超市系統 95 4.7 本章小結 98 本章練習 98 第5章 函數和lambda表達式 101 5.1 函數入門 102 5.1.1 理解函數 102 5.1.2 定義和調用函數 103 5.1.3 爲函數提供文檔 104 5.1.4 多個返回值 104 5.1.5 遞歸函數 105 5.2 函數的參數 106 5.2.1 關鍵字(keyword)參數 106 5.2.2 參數默認值 107 5.2.3 參數收集(個數可變的參數) 109 5.2.4 逆向參數收集 110 5.2.5 函數的參數傳遞機制 112 5.2.6 變量做用域 115 5.3 局部函數 118 5.4 函數的高級內容 119 5.4.1 使用函數變量 119 5.4.2 使用函數做爲函數形參 120 5.4.3 使用函數做爲返回值 121 5.5 局部函數與lambda表達式 122 5.5.1 回顧局部函數 122 5.5.2 使用lambda表達式代替局部函數 123 5.6 本章小結 124 本章練習 124 第6章 類和對象 125 6.1 類和對象 126 6.1.1 定義類 126 6.1.2 對象的產生和使用 127 6.1.3 對象的產生和使用 128 6.1.4 實例方法和自動綁定self 129 6.2 方法 132 6.2.1 類也能調用實例方法 132 6.2.2 類方法與靜態方法 133 6.2.3 @函數裝飾器 134 6.2.4 再論類命名空間 136 6.3 成員變量 137 6.3.1 類變量和實例變量 137 6.3.2 使用property函數定義屬性 140 6.4 隱藏和封裝 142 6.5 類的繼承 144 6.5.1 繼承的語法 144 6.5.2 關於多繼承 145 6.5.3 重寫父類的方法 146 6.5.4 使用未綁定方法調用被重寫的方法 147 6.5.5 使用super函數調用父類的構造方法 147 6.6 Python的動態性 149 6.6.1 動態屬性與__slots__ 149 6.6.2 使用type()函數定義類 151 6.6.3 使用metaclass 152 6.7 多態 153 6.7.1 多態性 154 6.7.2 檢查類型 155 6.8 枚舉類 156 6.8.1 枚舉入門 157 6.8.2 枚舉的構造器 158 6.9 本章小結 159 本章練習 159 第7章 異常處理 160 7.1 異常概述 161 7.2 異常處理機制 162 7.2.1 使用try...except捕獲異常 162 7.2.2 異常類的繼承體系 163 7.2.3 多異常捕獲 166 7.2.4 訪問異常信息 166 7.2.5 else塊 167 7.2.6 使用finally回收資源 169 7.2.7 異常處理嵌套 171 7.3 使用raise引起異常 171 7.3.1 引起異常 171 7.3.2 自定義異常類 173 7.3.3 except和raise同時使用 173 7.3.4 raise不須要參數 174 7.4 Python的異常傳播軌跡 175 7.5 異常處理規則 177 7.5.1 不要過分使用異常 177 7.5.2 不要使用過於龐大的try塊 178 7.5.3 不要忽略捕獲到的異常 179 7.6 本章小結 179 本章練習 179 第8章 Python類的特殊方法 180 8.1 常見的特殊方法 181 8.1.1 重寫__repr__方法 181 8.1.2 析構方法:del 182 8.1.3 __dir__方法 183 8.1.4 __dict__屬性 184 8.1.5 getattr、__setattr__等 184 8.2 與反射有關的屬性和方法 186 8.2.1 動態操做屬性 187 8.2.2 __call__屬性 188 8.3 與序列有關的特殊方法 189 8.3.1 與序列相關的方法 189 8.3.2 實現迭代器 191 8.3.3 擴展列表、元組和字典 192 8.4 生成器 193 8.4.1 建立生成器 193 8.4.2 生成器的方法 195 8.5 運算符重載的特殊方法 197 8.5.1 與數值運算符相關的特殊方法 197 8.5.2 與比較運算符相關的特殊方法 201 8.5.3 與單目運算符相關的特殊方法 202 8.5.4 與類型轉換相關的特殊方法 203 8.5.5 與常見的內建函數相關的特殊方法 204 8.6 本章小結 205 本章練習 205 第9章 模塊和包 206 9.1 模塊化編程 207 9.1.1 導入模塊的語法 207 9.1.2 定義模塊 210 9.1.3 爲模塊編寫說明文檔 211 9.1.4 爲模塊編寫測試代碼 211 9.2 加載模塊 212 9.2.1 使用環境變量 212 9.2.2 默認的模塊加載路徑 215 9.2.3 導入模塊的本質 217 9.2.4 模塊的__all__變量 218 9.3 使用包 219 9.3.1 什麼是包 219 9.3.2 定義包 220 9.3.3 導入包內成員 222 9.4 查看模塊內容 224 9.4.1 模塊包含什麼 224 9.4.2 使用__doc__屬性查看文檔 225 9.4.3 使用__file__屬性查看模塊的源文件路徑 226 9.5 本章小結 226 本章練習 226 第10章 常見模塊 227 10.1 sys 228 10.1.1 獲取運行參數 230 10.1.2 動態修改模塊加載路徑 231 10.2 os模塊 231 10.3 random 234 10.4 time 235 10.5 JSON支持 238 10.5.1 JSON的基本知識 238 10.5.2 Python的JSON支持 241 10.6 正則表達式 244 10.6.1 Python的正則表達式支持 245 10.6.2 正則表達式旗標 250 10.6.3 建立正則表達式 251 10.6.4 子表達式 253 10.6.5 貪婪模式與勉強模式 255 10.7 容器相關類 256 10.7.1 set和frozenset 257 10.7.2 雙端隊列(deque) 259 10.7.3 Python的堆操做 262 10.8 collections下的容器支持 265 10.8.1 ChainMap對象 265 10.8.2 Counter對象 267 10.8.3 defaultdict對象 269 10.8.4 namedtuple工廠函數 270 10.8.5 OrderedDict對象 272 10.9 函數相關模塊 273 10.9.1 itertools模塊的功能函數 273 10.9.2 functools模塊的功能函數 276 10.10 本章小結 283 本章練習 283 第11章 圖形界面編程 285 11.1 Python的GUI庫 286 11.2 Tkinter GUI編程的組件 287 11.3 佈局管理器 293 11.3.1 Pack佈局管理器 293 11.3.2 Grid佈局管理器 296 11.3.3 Place佈局管理器 297 11.4 事件處理 299 11.4.1 簡單的事件處理 299 11.4.2 事件綁定 300 11.5 Tkinter經常使用組件 304 11.5.1 使用ttk組件 304 11.5.2 Variable類 305 11.5.3 使用compound選項 306 11.5.4 Entry和Text組件 308 11.5.5 Radiobutton和Checkbutton組件 311 11.5.6 Listbox和Combobox組件 315 11.5.7 Spinbox組件 319 11.5.8 Scale和LabeledScale組件 320 11.5.9 Labelframe組件 324 11.5.10 Panedwindow組件 326 11.5.11 OptionMenu組件 328 11.6 對話框(Dialog) 330 11.6.1 普通對話框 330 11.6.2 自定義模式、非模式對話框 332 11.6.3 輸入對話框 334 11.6.4 文件對話框 336 11.6.5 顏色選擇對話框 338 11.6.6 消息框 339 11.7 菜單 342 11.7.1 窗口菜單 343 11.7.2 右鍵菜單 347 11.8 在Canvas中繪圖 349 11.8.1 Tkinter Canvas的繪製功能 349 11.8.2 操做圖形項的標籤 356 11.8.3 操做圖形項 358 11.8.4 爲圖形項綁定事件 363 11.8.5 繪製動畫 368 11.9 本章小結 371 本章練習 371 第12章 文件I/O 372 12.1 使用pathlib模塊操做目錄 373 12.1.1 PurePath的基本功能 374 12.1.2 PurePath的屬性和方法 376 12.1.3 Path的功能和用法 378 12.2 使用os.path操做目錄 379 12.3 使用fnmatch處理文件名匹配 380 12.4 打開文件 381 12.4.1 文件打開模式 382 12.4.2 緩衝 383 12.5 讀取文件 383 12.5.1 按字節或字符讀取 383 12.5.2 按行讀取 385 12.5.3 使用fileinput讀取多個輸入流 386 12.5.4 文件迭代器 386 12.5.5 管道輸入 387 12.5.6 使用with語句 388 12.5.7 使用linecache隨機讀取指定行 390 12.6 寫文件 391 12.6.1 文件指針的概念 391 12.6.2 寫文件 392 12.7 os模塊的文件和目錄函數 393 12.7.1 與目錄相關的函數 393 12.7.2 與權限相關的函數 395 12.7.3 與文件訪問相關的函數 396 12.8 使用tempfile模塊生成臨時文件和 臨時目錄 398 12.9 本章小結 399 本章練習 400 第13章 數據庫編程 401 13.1 Python數據庫API簡介 402 13.1.1 全局變量 402 13.1.2 數據庫API的核心類 403 13.1.3 操做數據庫的基本流程 404 13.2 操做SQLite數據庫 404 13.2.1 建立數據表 405 13.2.2 使用SQLite Expert工具 406 13.2.3 使用序列重複執行DML語句 408 13.2.4 執行查詢 410 13.2.5 事務控制 412 13.2.6 執行SQL腳本 412 13.2.7 建立自定義函數 413 13.2.8 建立彙集函數 414 13.2.9 建立比較函數 415 13.3 操做MySQL數據庫 417 13.3.1 下載和安裝MySQL數據庫 417 13.3.2 使用pip工具管理模塊 420 13.3.3 執行DDL語句 421 13.3.4 執行DML語句 423 13.3.5 執行查詢語句 425 13.3.6 調用存儲過程 426 13.4 本章小結 427 本章練習 427 第14章 併發編程 428 14.1 線程概述 429 14.1.1 線程和進程 429 14.1.2 多線程的優點 430 14.2 線程的建立和啓動 431 14.2.1 調用Thread類的構造器建立線程 431 14.2.2 繼承Thread類建立線程類 433 14.3 線程的生命週期 434 14.3.1 新建和就緒狀態 434 14.3.2 運行和阻塞狀態 435 14.3.3 線程死亡 436 14.4 控制線程 438 14.4.1 join線程 438 14.4.2 後臺線程 439 14.4.3 線程睡眠:sleep 440 14.5 線程同步 440 14.5.1 線程安全問題 440 14.5.2 同步鎖(Lock) 442 14.5.3 死鎖 445 14.6 線程通訊 447 14.6.1 使用Condition實現線程通訊 447 14.6.2 使用隊列(Queue)控制線程通訊 450 14.6.3 使用Event控制線程通訊 452 14.7 線程池 454 14.7.1 線程池 454 14.7.2 獲取執行結果 457 14.8 線程相關類 458 14.8.1 線程局部變量 458 14.8.2 定時器 460 14.8.3 任務調度 460 14.9 多進程 462 14.9.1 使用fork建立新進程 462 14.9.2 使用multiprocessing.Process建立新進程 463 14.9.3 Context和啓動進程的方式 465 14.9.4 使用進程池管理進程 466 14.9.5 進程通訊 468 14.10 本章小結 470 本章練習 470 第15章 網絡編程 471 15.1 網絡編程的基礎知識 472 15.1.1 網絡基礎知識 472 15.1.2 IP地址和端口號 473 15.2 Python的基本網絡支持 474 15.2.1 Python的網絡模塊概述 474 15.2.2 使用urllib.parse子模塊 475 15.2.3 使用urllib.request讀取資源 479 15.2.4 管理cookie 483 15.3 基於TCP協議的網絡編程 486 15.3.1 TCP協議基礎 487 15.3.2 使用socket建立TCP服務器端 487 15.3.3 使用socket通訊 489 15.3.4 加入多線程 490 15.3.5 記錄用戶信息 492 15.3.6 半關閉的socket 497 15.3.7 selectors模塊 498 15.4 基於UDP協議的網絡編程 500 15.4.1 UDP協議基礎 500 15.4.2 使用socket發送和接收數據 501 15.4.3 使用UDP協議實現多點廣播 503 15.5 電子郵件支持 505 15.5.1 使用smtplib模塊發送郵件 505 15.5.2 使用poplib模塊收取郵件 508 15.6 本章小結 511 本章練習 512 第16章 文檔和測試 513 16.1 使用pydoc生成文檔 514 16.1.1 在控制檯中查看文檔 515 16.1.2 生成HTML文檔 516 16.1.3 啓動本地服務器來查看文檔信息 517 16.1.4 查找模塊 519 16.2 軟件測試概述 519 16.2.1 軟件測試的概念和目的 519 16.2.2 軟件測試的分類 521 16.2.3 開發活動和測試活動 521 16.2.4 常見的Bug管理工具 522 16.3 文檔測試 523 16.4 單元測試 525 16.4.1 單元測試概述 525 16.4.2 單元測試的邏輯覆蓋 527 16.5 使用PyUnit(unittest) 529 16.5.1 PyUnit(unittest)的用法 530 16.5.2 運行測試 533 16.5.3 使用測試包 534 16.5.4 測試固件之setUp和tearDown 536 16.5.5 跳過測試用例 538 16.6 本章小結 540 本章練習 540 第17章 打包和發佈 541 17.1 使用zipapp模塊 542 17.1.1 生成可執行的Python檔案包 542 17.1.2 建立獨立應用 543 17.2 使用PyInstaller生成可執行程序 544 17.2.1 安裝PyInstaller 544 17.2.2 使用PyInstaller生成可執行程序 545 17.3 本章小結 547 本章練習 547 第18章 合金彈頭 548 18.1 合金彈頭遊戲簡介 549 18.2 pygame簡介 550 18.2.1 安裝pygame 550 18.2.2 pygame經常使用的遊戲API 551 18.3 開發遊戲界面組件 553 18.3.1 遊戲界面分析 553 18.3.2 實現「怪物」類 554 18.3.3 實現怪物管理 559 18.3.4 實現「子彈」類 560 18.3.5 加載、管理遊戲圖片 563 18.3.6 讓遊戲「運行」起來 565 18.4 增長「角色」 566 18.4.1 開發「角色」類 566 18.4.2 添加角色 572 18.5 合理繪製地圖 575 18.6 增長音效 577 18.7 增長遊戲場景 579 18.8 本章小結 583 本章練習 583 第19章 數據可視化 584 19.1 使用Matplotlib生成數據圖 585 19.1.1 安裝Matplotlib包 585 19.1.2 Matplotlib數據圖入門 586 19.1.3 管理圖例 588 19.1.4 管理座標軸 591 19.1.5 管理多個子圖 593 19.2 功能豐富的數據圖 597 19.2.1 餅圖 597 19.2.2 柱狀圖 598 19.2.3 水平柱狀圖 601 19.2.4 散點圖 602 19.2.5 等高線圖 604 19.2.6 3D圖形 605 19.3 使用Pygal生成數據圖 606 19.3.1 安裝Pygal包 606 19.3.2 Pygal數據圖入門 607 19.3.3 配置Pygal數據圖 608 19.4 Pygal支持的常見數據圖 609 19.4.1 折線圖 610 19.4.2 水平柱狀圖和水平折線圖 611 19.4.3 疊加柱狀圖和疊加折線圖 612 19.4.4 餅圖 613 19.4.5 點圖 614 19.4.6 儀表(Gauge)圖 615 19.4.7 雷達圖 616 19.5 處理數據 617 19.5.1 CSV文件格式 617 19.5.2 JSON數據 621 19.5.3 數據清洗 624 19.5.4 讀取網絡數據 626 19.6 本章小結 629 本章練習 629 第20章 網絡爬蟲 630 20.1 安裝Scrapy 631 20.1.1 瞭解Scrapy 631 20.1.2 安裝Scrapy 632 20.2 使用爬蟲爬取、分析招聘信息 634 20.2.1 建立Scrapy項目 634 20.2.2 使用shell調試工具 635 20.2.3 Scrapy開發步驟 638 20.2.4 使用JSON導出信息 643 20.2.5 將數據寫入數據庫 644 20.2.6 使用Pygal展現招聘信息 645 20.3 處理反爬蟲 646 20.3.1 使用shell調試工具分析目標站點 646 20.3.2 使用Scrapy爬取高清圖片 649 20.3.3 應對反爬蟲的常見方法 651 20.3.4 整合Selenium模擬瀏覽器行爲 653 20.4 本章小結 657 本章練習 657瀏覽器

公衆號回覆關鍵字 11762直接獲取下載連接

  1. 點擊 ebooklist.mobi/2019/05/28/… 原文連接訪問安全

  2. 公衆號回覆 「11762」 獲取下載地址, 關注公衆號資源分享,視頻教程應有盡有!歡迎關注一塊兒學習!服務器

好書推薦、視頻分享,公衆號
相關文章
相關標籤/搜索