未來是人工智能(AI)的時代,它是繼蒸汽技術(shù)、電力技術(shù)、計算機及信息技術(shù)革命之后的第四次科技革命核心驅(qū)動力。2017 年,人類天才棋手柯潔迎戰(zhàn)人工智能 AlphaGo(阿爾法狗),終以天才選手的失敗而落幕,讓人唏噓不已的同時,也讓人們深刻體會到人工智能的強大。人工智能 AlphaGo 強大的背后隱藏著的編程體系中,有很大一部分就是用 Python 編寫的。因此,與其說是 AlphaGo 打敗了柯潔,倒不如說是 Python 打敗柯潔。 市面上Python入門的書不少,也不乏很多經(jīng)典教材,本書含二維碼,重點項目均配有講解視頻,不光在紙質(zhì)上有知識點,學(xué)習(xí)者可以通過手機等移動裝備掃碼進行學(xué)習(xí),排版簡單大氣,便于讀者閱讀,采用雙色印刷,將知識點的難易很好地區(qū)分開來。
本書是一本針對零基礎(chǔ)小白而編寫的Python入門書,主要是為了讓初學(xué)者夯實基礎(chǔ),建議與派森編程課程配套使用。內(nèi)容主要包括Python基礎(chǔ)知識、數(shù)據(jù)類型、if語句、for循環(huán)、while循環(huán)、函數(shù)的使用、面向?qū)ο缶幊袒A(chǔ)、文件操作、異常處理和Python模塊。
全書內(nèi)容由淺入深,引導(dǎo)讀者掌握Python基礎(chǔ),以知識點和案例代碼貫穿全書,幫助讀者從入門順利進入項目實戰(zhàn)的角色。
前言
未來是人工智能(AI)的時代。人工智能是繼蒸汽技術(shù)、電力技術(shù)、計算機及信息技術(shù)革命之后的第四次科技革命核心驅(qū)動力。2017年,人類“天才”棋手柯潔迎戰(zhàn)人工智能AlphaGo(阿爾法狗),終以“天才”選手的敗陣而落幕,讓人唏噓不已的同時,也讓人們深刻體會到人工智能的強大。人工智能AlphaGo強大的背后隱藏著的編程體系中,有很大一部分是用Python語言編寫的。因此,與其說是人工智能AlphaGo打敗了柯潔,倒不如說是Python打敗了柯潔。
Python是什么?它是一種面向?qū)ο蟮摹⒅弊g式的計算機程序設(shè)計語言,是人工智能(AI)的核心編程語言之一。目前,人工智能在制造、家居、金融、零售、交通、安防、醫(yī)療、物流、教育等行業(yè)中均有廣泛的應(yīng)用。我國對于AI人才的需求數(shù)量已經(jīng)突破百萬人,AI相關(guān)崗位的平均薪資更是水漲船高,均以每年近8%的速度在增長,市場對優(yōu)秀AI人才的爭奪日益明顯。作為AI編程語言的首選——Python,這幾年越來越受到人們的追捧。
根據(jù)新排名, Python語言已超越 C#語言,與 Java語言、 C語言一起成為全球前三的編程語言。作為一門編程語言,Python語言的語法簡捷、清晰、易讀,它被昵稱為“膠水語言”,更被熱愛它的程序員譽為“美麗的”編程語言。
相較于其他編程語言,Python語言在人工智能中的優(yōu)勢主要有以下幾點。
◎ 更加人性化的設(shè)計——開源免費,而且學(xué)習(xí)簡單。
◎ 總體的 AI 庫——提供一個易于使用、有良好文檔和測試的庫。
◎ 機器學(xué)習(xí)庫——簡單而有效地針對機器學(xué)習(xí)任務(wù)的算法。
◎ 自然語言和文本處理庫—— Python 具有豐富而強大的庫。
近年,國務(wù)院發(fā)布的《新一代人工智能發(fā)展規(guī)劃》明確提出:完善人工智能教育體系,在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育。而后,教育部考試中心發(fā)布全國計算機等級考試(NCRE)體系調(diào)整的通知中明確提出:新增“Python語言程序設(shè)計”科目(代碼:66)。目前,已有部分省份將 Python 編程基礎(chǔ)納入信息技術(shù)課程和高考的內(nèi)容體系,未來幾年將會有越來越多的地區(qū)把編程科目納入基礎(chǔ)教育甚至高考中。這意味著:學(xué)習(xí)編程不再只是一個選擇,而是將成為現(xiàn)代青少年成長過程中的一門必修課!
本書作為Python 的入門書籍,在編寫上引用了大量日常生活中的例子,通過深入淺出的講解、精練準確的示例,讓零基礎(chǔ)小白也能輕松掌握簡單的 Python 項目代碼。
另外,本書配套的Python環(huán)境以及開發(fā)工具的安裝,具體信息可掃描下方的二維碼關(guān)注公眾號。想要了解更多的信息,還可以加入我們的在線課程,在互動交流的環(huán)境中,抓住操作關(guān)鍵,突破學(xué)習(xí)難點,提高Python開發(fā)技能!
高級軟件工程師,曾在BAT公司和各大型互聯(lián)網(wǎng)公司任職,有著多年軟件開發(fā)經(jīng)驗。工作中使用 C++、Python、C、Java、JavaScript、Angular、Vue、Docker等開發(fā)技術(shù)。為千萬客戶提供軟件服務(wù)及AI解決方案,F(xiàn)致力于Python相關(guān)技術(shù)(全棧開發(fā),機器學(xué)習(xí),自動化等)的研究與分享。
第1章 Python基礎(chǔ)知識 1
1.1 計算機組成原理 1
1.2 認識Python 3
1.3 第一個Python程序 8
1.4 注釋 10
1.5 變量以及類型 12
1.6 標識符和關(guān)鍵字 13
1.7 輸出 15
1.8 輸入 18
第2章 判斷語句和循環(huán)語句 20
2.1 運算符 20
2.2 數(shù)據(jù)類型轉(zhuǎn)換 21
2.3 判斷語句介紹 23
2.4 if語句 23
2.5 比較(關(guān)系)運算符 25
2.6 ifelse 26
2.7 elif 28
2.8 if嵌套 29
2.9 if應(yīng)用:猜拳游戲 31
2.10 循環(huán)語句介紹 32
2.11 while循環(huán) 33
2.12 while循環(huán)應(yīng)用 34
2.13 while循環(huán)的嵌套以及應(yīng)用 35
2.14 for循環(huán) 36
2.15 break和continue 38
第3章 字符串、列表、元組、字典 43
3.1 字符串介紹 43
3.2 字符串輸出 43
3.3 字符串輸入 44
3.4 下標和切片 44
3.5 字符串常見操作 48
3.6 列表介紹 56
3.7 列表的循環(huán)遍歷 57
3.8 列表的常見操作 58
3.9 列表的嵌套 64
3.10 元組 65
3.11 字典介紹 67
3.12 字典的常見操作1 68
3.13 字典的常見操作2 71
3.14 字典的遍歷 72
第4章 集合 75
4.1 建立集合的兩種方式 75
4.2 集合的操作 76
4.3 適用集合的方法 80
第5章 函數(shù)(一) 87
5.1 函數(shù)定義和調(diào)用 87
5.2 函數(shù)的文檔說明 88
5.3 函數(shù)參數(shù)(一) 88
5.4 函數(shù)返回值(一) 90
5.5 4種函數(shù)的類型 91
5.6 函數(shù)的嵌套調(diào)用 93
5.7 函數(shù)應(yīng)用:打印圖形和數(shù)學(xué)計算 94
第6章 函數(shù)(二) 96
6.1 局部變量 96
6.2 全局變量 96
6.3 多函數(shù)程序的基本使用流程 98
6.4 函數(shù)返回值(二) 100
6.5 函數(shù)參數(shù)(二) 102
6.6 引用(一) 104
6.7 可變、不可變類型 106
6.8 引用(二) 106
6.9 函數(shù)使用注意事項 107
6.10 函數(shù)應(yīng)用:技能商店系統(tǒng) 109
第7章 面向?qū)ο蠡A(chǔ)(一) 112
7.1 面向?qū)ο缶幊探榻B 112
7.2 類和對象 115
7.3 定義類 119
7.4 創(chuàng)建對象 120
7.5 添加和獲取對象的屬性 121
7.6 實例方法內(nèi)通過self獲取
對象屬性 122
7.7 魔法方法:_??_init_??_()方法 123
7.8 有參數(shù)的_??_init_??_()方法 125
7.9 魔法方法:_??_str_??_()方法 126
7.10 _??_del_??_()方法 128
7.11 參考案例:烤地瓜 129
第8章 面向?qū)ο蠡A(chǔ)(二) 134
8.1 繼承的概念 134
8.2 單繼承 135
8.3 多繼承 136
8.4 子類重寫父類的同名屬性和方法 137
8.5 多層繼承 138
第9章 面向?qū)ο蠡A(chǔ)(三) 140
9.1 類屬性和實例屬性 140
9.2 類方法和靜態(tài)方法 141
9.3 _??_new_??_方法 143
第10章 文件操作及綜合應(yīng)用 145
10.1 文件操作 145
10.2 文件的打開與關(guān)閉 145
10.3 文件的讀/寫 147
10.4 應(yīng)用:制作文件的備份 149
10.5 文件、文件夾的相關(guān)操作 150
10.6 綜合應(yīng)用:圖書管理系統(tǒng) 152
第11章 異常、模塊 155
11.1 異常概述 155
11.2 捕獲異常 155
11.3 異常的傳遞 159
11.4 拋出自定義的異常 162
11.5 異常處理中拋出異常 163
11.6 模塊介紹 164
11.7 模塊制作 166
第12章 實戰(zhàn)項目演練 169
12.1 歹徒困境 169
12.2 猜拳游戲 171
12.3 績效管理系統(tǒng) 174
12.4 信息采集器 178
12.5 動態(tài)二維碼 183