《Python 3快速入門與實戰(zhàn)》通過理論與實戰(zhàn)相結(jié)合的方式,結(jié)合大量案例系統(tǒng)地介紹了Python編程涉及的知識點,詳細介紹了多個應(yīng)用場景下使用Python開發(fā)的實際項目。本書共16章,分為兩部分,第壹部分(1~12章)主要講解Python編程基礎(chǔ),第二部分(13~16章)主要講解Python項目實戰(zhàn),旨在幫助讀者系統(tǒng)、快速地掌握Python語法,并能夠熟練地應(yīng)用到實戰(zhàn)項目中。全書代碼適用于Python 3.6以及更高版本。
《Python 3快速入門與實戰(zhàn)》讀者對象為Python編程的初學(xué)者,或者具有Python編程基礎(chǔ)想進一步學(xué)習(xí)Python的編程愛好者;具有其他編程語言基礎(chǔ),想了解和學(xué)習(xí)Python的相關(guān)技術(shù)人員;未來準備從事數(shù)據(jù)科學(xué)、機器學(xué)習(xí)、人工智能、數(shù)據(jù)分析、數(shù)據(jù)采集等方向研究和工作的讀者。
一本系統(tǒng)介紹Python 3編程基礎(chǔ),通過大量項目案例引領(lǐng)讀者快速入門Python編程,掌握使用Python進行數(shù)據(jù)可視化、爬蟲開發(fā)、數(shù)據(jù)分析、機器學(xué)習(xí)等技能的實戰(zhàn)教程。
前言
Python是一種面向?qū)ο蟮慕忉屝途幊陶Z言,具有語法簡潔、免費開源、跨平臺、豐富的第三方庫等特點,由被譽為Python之父的Guido van Rossum發(fā)明,于1991年發(fā)布第一個公開發(fā)行版,發(fā)展到現(xiàn)在已經(jīng)有近30年的歷史。Python從誕生到現(xiàn)在已經(jīng)發(fā)布了幾個大版本,Python核心團隊計劃在2020年停止支持Python 2,以后不再對其進行維護。目前,Python 3已經(jīng)成為學(xué)習(xí)和使用Python的主流。2019年7月TIOBE發(fā)布的最新熱門編程語言排行榜中,Python位居第三名,因此也證明Python是目前最受歡迎的編程語言之一,并且已經(jīng)被廣泛使用。
近幾年,大數(shù)據(jù)、人工智能等領(lǐng)域發(fā)展迅速,工程項目不斷落地,相關(guān)領(lǐng)域的人才需求呈爆發(fā)式增長,人才供給嚴重失衡。同時隨著國內(nèi)人工智能教育的普及,中小學(xué)生、大學(xué)生、教師需要相關(guān)課程的教材和教輔資料。Python是機器學(xué)習(xí)、人工智能、數(shù)據(jù)分析等領(lǐng)域使用最多的編程語言,所謂工欲善其事,必先利其器,Python作為一把利器,可以快速地完成數(shù)據(jù)處理、數(shù)據(jù)分析、數(shù)據(jù)可視化、模型訓(xùn)練等。所以,掌握Python編程是從事機器學(xué)習(xí)、人工智能、數(shù)據(jù)分析等領(lǐng)域相關(guān)工作必備的技能。
為何寫作本書
寫作這本書的初衷是將自己工作中的編程和項目經(jīng)驗融合到Python理論知識中,讓抽象、枯燥的編程語言的學(xué)習(xí)更加地生動、有趣。本書側(cè)重實戰(zhàn),不僅系統(tǒng)介紹了Python編程涉及的知識點,同時也會教讀者如何使用Python做實際的項目開發(fā)。希望通過理論與實戰(zhàn)相結(jié)合的方式,讓更多的編程愛好者快速、系統(tǒng)地掌握Python。也希望讀者通過Python的學(xué)習(xí),掌握學(xué)習(xí)編程語言的方法,以后學(xué)習(xí)其他編程語言會更加的從容。
讀者將學(xué)到什么
讀者朋友可以通過本書的學(xué)習(xí)可以:
? 快速入門Python編程,系統(tǒng)掌握Python基礎(chǔ)語法和進階知識。
? 具備面向?qū)ο缶幊趟枷,掌握學(xué)習(xí)編程語言的方法,學(xué)習(xí)編程不再愁。
? 了解和學(xué)習(xí)多種基于Python的實戰(zhàn)項目和應(yīng)用場景,深入理解理論知識。
? 初步了解和掌握Python在數(shù)據(jù)采集、數(shù)據(jù)分析、機器學(xué)習(xí)等領(lǐng)域的應(yīng)用。
如何閱讀本書
本書共16章,分為兩部分,第一部分(1~12章)主要介紹Python編程基礎(chǔ),第二部分(13~16章)主要介紹Python項目實戰(zhàn)。通過理論與實戰(zhàn)相結(jié)合的方式介紹Python語法和應(yīng)用,幫助讀者系統(tǒng)、快速地掌握Python語法,并能夠熟練地應(yīng)用到實戰(zhàn)項目中。全書代碼適用于Python 3.6以及更高版本。
第1章 Python概述,簡要介紹Python語言的產(chǎn)生背景及目前的發(fā)展情況,Python 3.6、Anaconda 3(集成了Python 3,可以不單獨安裝Python 3.6)在Windows系統(tǒng)或者Mac系統(tǒng)中的安裝配置,目前流行的一款開發(fā)工具PyCharm在Windows系統(tǒng)或者Mac系統(tǒng)中的安裝配置。
第2章 Python基礎(chǔ),主要介紹Python編程的基礎(chǔ)語法,包括注釋、標識符、變量、數(shù)據(jù)類型、輸入輸出函數(shù)、運算符、字符串、if條件判斷語句、while循環(huán)與for循環(huán)。
第3章 容器,主要介紹Python中常用的四種數(shù)據(jù)結(jié)構(gòu),包括列表、元組、字典、集合。
第4章 函數(shù),主要介紹函數(shù)的定義、參數(shù)、返回值、變量作用域、遞歸函數(shù)、匿名函數(shù)、閉包、裝飾器。
第5章 包和模塊,主要介紹Python中包的結(jié)構(gòu)及作用、模塊的用法、內(nèi)置__name__變量的使用方法。
第6章 面向?qū)ο,主要介紹面向?qū)ο缶幊痰乃枷、類和對象、?gòu)造方法、訪問權(quán)限、繼承。
第7章 異常處理,主要介紹異常捕獲的方法、finally語句的作用、使用raise拋出異常的方法。
第8章 日期和時間,主要介紹Python中內(nèi)置的日期和時間相關(guān)的time和datetime兩個模塊。
第9章 文件操作,主要介紹讀寫文件的方法、文件管理、JSON文件操作、CSV文件操作。
第10章 正則表達式,主要介紹使用re模塊編寫正則表達式的方法、單字符匹配、數(shù)量表示、邊界表示、轉(zhuǎn)義字符、匹配分組、內(nèi)置函數(shù)、貪婪與非貪婪模式。
第11章 Python網(wǎng)絡(luò)編程,主要介紹基于Python的網(wǎng)絡(luò)編程基礎(chǔ)、擴展庫urllib和requests的用法等。
第12章 Python常用擴展庫,主要介紹Python中與數(shù)據(jù)科學(xué)相關(guān)的兩個重要的擴展庫:NumPy和Pandas的用法。
第13章 Python數(shù)據(jù)可視化實戰(zhàn),主要介紹Matplotlib繪圖、Pandas繪圖、Seaborn繪圖等內(nèi)容。
第14章 Python 爬蟲開發(fā)實戰(zhàn),主要介紹爬蟲開發(fā)流程、開發(fā)環(huán)境搭建、通過爬蟲抓取電商網(wǎng)站商品信息的內(nèi)容。
第15章 Python數(shù)據(jù)分析實戰(zhàn),主要介紹數(shù)據(jù)分析基本概述、對房價進行數(shù)據(jù)分析等內(nèi)容。
第16章 Python機器學(xué)習(xí)實戰(zhàn),主要介紹機器學(xué)習(xí)基礎(chǔ)、常用的機器學(xué)習(xí)庫scikit-learn、使用k近鄰算法實現(xiàn)紅酒質(zhì)量等級預(yù)測等內(nèi)容。
本書適用讀者
對Python編程感興趣的在校大學(xué)生,負責(zé)計算機相關(guān)專業(yè)教學(xué)的老師。
Python編程的初學(xué)者,或者具有Python編程基礎(chǔ)想進一步學(xué)習(xí)Python的編程愛好者。
具有其他編程語言基礎(chǔ),想了解和學(xué)習(xí)Python的相關(guān)技術(shù)人員。
未來準備從事數(shù)據(jù)科學(xué)、機器學(xué)習(xí)、人工智能、數(shù)據(jù)分析、數(shù)據(jù)采集等方向研究和工作的讀者。
配套資源
本書配套的源代碼可以通過微信公眾號DIMPLab獲取,也可通過掃描關(guān)注機械工業(yè)出版社計算機分社官方微信訂閱號IT有得聊,回復(fù)63405即可獲取本書配套資源下載鏈接。
讀者反饋
肖冠宇,大數(shù)據(jù)技術(shù)專家,曾就職于小米、人民網(wǎng)等互聯(lián)網(wǎng)公司的大數(shù)據(jù)技術(shù)團隊,擁有多年大數(shù)據(jù)系統(tǒng)研發(fā)經(jīng)驗,曾主導(dǎo)企業(yè)級大數(shù)據(jù)平臺建設(shè)和多項大數(shù)據(jù)項目研發(fā),擅長分布式系統(tǒng)架構(gòu)、數(shù)據(jù)倉庫產(chǎn)品設(shè)計與研發(fā)、實時計算、機器學(xué)習(xí)算法等。目前專注于大數(shù)據(jù)、人工智能領(lǐng)域的技術(shù)研究。著有《企業(yè)大數(shù)據(jù)處理:Spark、Druid、Flume與Kafka應(yīng)用實踐》一書,參與編著《高可用可伸縮微服務(wù)架構(gòu):基于Dubbo、Spring Cloud和Service Mesh》一書。作者公眾號:DIMPLab。
楊捷,英國高等統(tǒng)計學(xué)研究型碩士,在校期間榮獲*高學(xué)術(shù)獎學(xué)金,英國The Face3D Research Consortium前成員。參與過多項數(shù)據(jù)分析科研項目,擅長數(shù)據(jù)統(tǒng)計建模分析與預(yù)測。曾擔(dān)任英國大不列顛奧林匹克數(shù)學(xué)競賽高級組指導(dǎo)老師,曾就職于愛丁堡知名咨詢公司擔(dān)任Consultant Assistant。2016年被邀請作為全球科技峰會蘇格蘭分會場演講嘉賓。目前專注于機器學(xué)習(xí)、人工智能等領(lǐng)域的研究。
目錄
前言
第1章 Python概述
1.1 初識Python
1.2 安裝配置Python 3開發(fā)環(huán)境
1.2.1 Windows系統(tǒng)下安裝Python 3
1.2.2 Mac系統(tǒng)下安裝Python 3
1.3 安裝配置Anaconda
1.3.1 Windows系統(tǒng)下安裝Anaconda
1.3.2 Mac系統(tǒng)下安裝Anaconda
1.4 安裝PyCharm開發(fā)工具
1.4.1 Windows系統(tǒng)下安裝PyCharm
1.4.2 Mac系統(tǒng)下安裝PyCharm
1.4.3 配置PyCharm開發(fā)環(huán)境
第2章 Python基礎(chǔ)
2.1 注釋
2.1.1 單行注釋
2.1.2 多行注釋
2.2 關(guān)鍵字與標識符
2.2.1 關(guān)鍵字
2.2.2 標識符
2.3 變量
2.4 數(shù)據(jù)類型
2.4.1 數(shù)字類型
2.4.2 類型轉(zhuǎn)換函數(shù)
2.4.3 布爾類型
2.5 輸入(input)與輸出(print)
2.5.1 輸入函數(shù)(input)
2.5.2 輸出函數(shù)(print)
2.6 運算符
2.6.1 算術(shù)運算符
2.6.2 比較運算符
2.6.3 賦值運算符
2.6.4 邏輯運算符
2.6.5 運算符優(yōu)先級
2.7 字符串
2.7.1 字符串定義
2.7.2 字符串格式化
2.7.3 字符串內(nèi)置方法
2.8 if條件判斷
2.8.1 語法格式
2.8.2 條件判斷與邏輯運算符
2.8.3 if嵌套
2.9 while循環(huán)
2.9.1 語法格式
2.9.2 while循環(huán)嵌套
2.9.3 break跳出整個while循環(huán)
2.9.4 continue跳出當(dāng)次while循環(huán)
2.10 for循環(huán)
2.10.1 語法格式
2.10.2 break跳出整個for循環(huán)
2.10.3 continue跳出當(dāng)次for循環(huán)
第3章 容器
3.1 列表
3.1.1 列表的定義
3.1.2 查詢列表中元素
3.1.3 嵌套列表
3.1.4 向列表中添加元素
3.1.5 修改列表中元素值
3.1.6 刪除列表中元素
3.1.7 列表切片
3.1.8 列表元素排序
3.2 元組
3.2.1 元組的定義
3.2.2 查詢元組中的元素
3.3 字典
3.3.1 字典的定義
3.3.2 查詢字典中鍵值對
3.3.3 向字典中添加鍵值對
3.3.4 修改字典中鍵的值
3.3.5 刪除字典中的鍵值對
3.3.6 循環(huán)遍歷字典
3.4 集合
3.4.1 集合的定義
3.4.2 成員運算符在集合中的應(yīng)用
3.4.3 向集合中添加元素
3.4.4 刪除集合中的元素
3.4.5 集合常用操作
第4章 函數(shù)
4.1 函數(shù)定義與調(diào)用
4.2 函數(shù)參數(shù)
4.2.1 帶參函數(shù)
4.2.2 缺省參數(shù)
4.2.3 命名參數(shù)
4.2.4 不定長參數(shù)
4.3 函數(shù)返回值
4.4 變量作用域
4.4.1 局部變量
4.4.2 全局變量
4.5 遞歸函數(shù)
4.6 匿名函數(shù)
4.7 閉包
4.8 裝飾器
4.8.1 初識裝飾器
4.8.2 裝飾器進階
第5章 包和模塊
5.1 包
5.2 模塊
5.3 __init__.py模塊
5.4 __name__變量
第6章 面向?qū)ο?br />6.1 面向?qū)ο缶幊?br />6.2 類和對象
6.2.1 類
6.2.2 對象
6.3 __init__構(gòu)造方法
6.4 訪問權(quán)限
6.5 繼承
6.5.1 單繼承
6.5.2 super函數(shù)
6.5.3 重寫
6.5.4 多繼承
第7章 異常處理
7.1 捕獲異常
7.2 捕獲多個異常
7.3 捕獲全部異常
7.4 異常中的finally語句
7.5 異常傳遞
7.6 raise拋出異常
第8章 日期和時間
8.1 time模塊
8.2 datetime模塊
第9章 文件操作
9.1 讀寫文件
9.1.1 打開文件
9.1.2 寫文件
9.1.3 讀文件
9.2 文件管理
9.3 JSON文件操作
9.4 CSV文件操作
9.4.1 寫入CSV文件
9.4.2 讀取CSV文件
第10章 正則表達式
10.1 re模塊
10.2 單字符匹配
10.3 數(shù)量表示
10.4 邊界表示
10.5 轉(zhuǎn)義字符
10.6 匹配分組
10.7 內(nèi)置函數(shù)
10.8 貪婪與非貪婪模式
第11章 Python網(wǎng)絡(luò)編程
11.1 網(wǎng)絡(luò)編程基礎(chǔ)
11.2 urllib庫
11.2.1 urllib.request.urlopen函數(shù)
11.2.2 urllib.request.Request類
11.2.3 urllib.error異常處理模塊
11.3 requests庫
11.3.1 安裝requests庫
11.3.2 requests庫基本使用方法
第12章 Python常用擴展庫
12.1 Numpy科學(xué)計算庫
12.1.1 創(chuàng)建ndarray數(shù)組
12.1.2 數(shù)組的數(shù)據(jù)類型
12.1.3 數(shù)組的索引與切片
12.1.4 數(shù)學(xué)與統(tǒng)計函數(shù)調(diào)用
12.1.5 文件讀入和讀出
12.2 Pandas數(shù)據(jù)分析庫
12.2.1 Pandas數(shù)據(jù)結(jié)構(gòu)
12.2.2 數(shù)學(xué)與統(tǒng)計計算
12.2.3 DataFrame的文件操作
12.2.4 數(shù)據(jù)處理
第13章 Python數(shù)據(jù)可視化實戰(zhàn)
13.1 Matplotlib繪圖
13.1.1 繪制散點圖
13.1.2 繪制折線圖
13.1.3 繪制柱狀圖
13.1.4 繪制箱線圖
13.2 Pandas繪圖
13.2.1 繪制Series序列圖
13.2.2 繪制DataFrame圖表
13.3 Seaborn繪圖
13.3.1 繪制條形散點圖
13.3.2 繪制箱線圖
13.3.3 繪制琴形圖
13.3.4 多變量分類繪圖
第14章 Python爬蟲開發(fā)實戰(zhàn)
14.1 爬蟲工作流程
14.2 爬蟲開發(fā)環(huán)境搭建
14.3 項目實戰(zhàn):爬取電商網(wǎng)站商品信息
14.3.1 目標網(wǎng)站分析
14.3.2 使用Python實現(xiàn)爬蟲程序
第15章 Python數(shù)據(jù)分析實戰(zhàn)
15.1 數(shù)據(jù)分析概述
15.2 項目實戰(zhàn):房屋售價數(shù)據(jù)分析
15.2.1 項目概述
15.2.2 數(shù)據(jù)處理
15.2.3 數(shù)據(jù)分析
第16章 Python機器學(xué)習(xí)實戰(zhàn)
16.1 機器學(xué)習(xí)基礎(chǔ)
16.1.1 什么是機器學(xué)習(xí)
16.1.2 數(shù)據(jù)集核心概念
16.1.3 算法、模型與訓(xùn)練
16.1.4 機器學(xué)習(xí)任務(wù)分類
16.1.5 有監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)
16.1.6 機器學(xué)習(xí)開發(fā)流程
16.1.7 scikit-learn機器學(xué)習(xí)庫
16.2 項目實戰(zhàn):k近鄰算法實現(xiàn)紅酒質(zhì)量等級預(yù)測
16.2.1 k近鄰算法原理
16.2.2 歐式距離公式
16.2.3 使用Python實現(xiàn)完整預(yù)測過程