本書以零基礎(chǔ)講解為宗旨,用實(shí)例引導(dǎo)讀者深入學(xué)習(xí),采取“基礎(chǔ)知識(shí)→核心技術(shù)→高級(jí)應(yīng)用→項(xiàng)目開發(fā)實(shí)戰(zhàn)”的講解模式,深入淺出地講解Python的各項(xiàng)技術(shù)及實(shí)戰(zhàn)技能。
本書第1篇基礎(chǔ)知識(shí)主要講解揭開Python 神秘面紗、基礎(chǔ)語法、列表、元組、字典、字符串操作、流程控制和函數(shù)等;第2篇核心技術(shù)主要講解對象與類、程序調(diào)試和異常處理、模塊與類庫、迭代器、操作文件的方法、圖形用戶界面和流行的Python開發(fā)工具等;第3篇高級(jí)應(yīng)用主要講解Python的高級(jí)技術(shù)、數(shù)據(jù)庫的應(yīng)用技術(shù)、網(wǎng)絡(luò)編程的應(yīng)用、腳本程序設(shè)計(jì)和網(wǎng)頁資料的處理方法等;第4篇項(xiàng)目開發(fā)實(shí)戰(zhàn)主要講解開發(fā)學(xué)生信息管理系統(tǒng)、開發(fā)網(wǎng)絡(luò)聊天室系統(tǒng)和開發(fā)網(wǎng)絡(luò)數(shù)據(jù)分析系統(tǒng)。本書贈(zèng)送了9大超值的王牌資源,包括本書實(shí)例源代碼、教學(xué)幻燈片、本書精品教學(xué)視頻、16大經(jīng)典Python項(xiàng)目源碼、Python錯(cuò)誤代碼表速查手冊、Python 2.X和Python 3.x版本的區(qū)別速查手冊、Python 標(biāo)準(zhǔn)庫速查手冊、Python開發(fā)常見問題解決方案、Python工程師面試常見面試題等。
本書適合任何想學(xué)習(xí)Python編程語言的人員,無論您是否從事計(jì)算機(jī)相關(guān)行業(yè),是否接觸過Python語言,通過學(xué)習(xí)均可快速掌握Python在項(xiàng)目開發(fā)中的知識(shí)和技巧。
本書特色
* 零基礎(chǔ)、入門級(jí)的講解。
無論你是否從事計(jì)算機(jī)相關(guān)行業(yè),是否接觸過Python編程語言,都能從本書中找到*佳起點(diǎn)。
* 超多、實(shí)用、專業(yè)的范例和項(xiàng)目。
本書在編排上緊密結(jié)合深入學(xué)習(xí)Python編程技術(shù)的先后順序,從Python的基本語法開始,帶領(lǐng)大家逐步深入地學(xué)習(xí)各種應(yīng)用技巧,側(cè)重實(shí)戰(zhàn)技能,使用簡單易懂的實(shí)際案例進(jìn)行分析和操作指導(dǎo),讓讀者讀起來簡明輕松,操作起來有章可循。
* 隨時(shí)檢測自己的學(xué)習(xí)成果。
每章首頁中,均提供了學(xué)習(xí)目標(biāo),以指導(dǎo)讀者重點(diǎn)學(xué)習(xí)及學(xué)后檢查。
大部分章節(jié)*后的“跟我練練手”板塊,均根據(jù)本章內(nèi)容精選而成,讀者可以隨時(shí)檢測自己的學(xué)習(xí)成果和實(shí)戰(zhàn)能力,做到融會(huì)貫通。
* 細(xì)致入微、貼心提示。
本書在講解過程中,在各章中使用了“注意”和“提示”等小貼士,使讀者在學(xué)習(xí)過程中更清楚地了解相關(guān)操作、理解相關(guān)概念,并輕松掌握各種操作技巧。
* 專業(yè)創(chuàng)作團(tuán)隊(duì)和技術(shù)支持。
本書由千谷高新教育中心編著并提供技術(shù)支持。
你在學(xué)習(xí)過程中遇到任何問題,都可加入QQ群(案例課堂VIP)——451102631進(jìn)行提問,專家人員會(huì)在線答疑。
超值贈(zèng)送資源
* 全程同步教學(xué)錄像。
涵蓋本書所有知識(shí)點(diǎn),詳細(xì)講解每個(gè)實(shí)例及項(xiàng)目的過程及技術(shù)關(guān)鍵點(diǎn),能更輕松地掌握書中所有的Python編程語言知識(shí),而且擴(kuò)展的講解部分使你得到比書中更多的收獲。
* 超多容量*資源大放送。
贈(zèng)送大量*資源,包括本書實(shí)例源代碼、教學(xué)幻燈片、本書精品教學(xué)視頻、16大經(jīng)典Python項(xiàng)目源碼、Python錯(cuò)誤代碼表速查手冊、Python 2.x和Python 3.x版本的區(qū)別速查手冊、Python 標(biāo)準(zhǔn)庫速查手冊、Python開發(fā)常見問題解決方案、Python工程師面試常見面試題等。除了可以通過QQ群(案例課堂VIP)——451102631獲取贈(zèng)送資源,讀者還可以進(jìn)入http://www.apecoding.com/下載贈(zèng)送資源。
前 言
“軟件開發(fā)案例課堂”系列圖書是專門為軟件開發(fā)和數(shù)據(jù)庫初學(xué)者量身定做的一套學(xué)習(xí)用書,整套書涵蓋軟件開發(fā)、數(shù)據(jù)庫設(shè)計(jì)等方面,且具有以下特點(diǎn)。
前沿科技
無論是軟件開發(fā)還是數(shù)據(jù)庫設(shè)計(jì),我們都精選較為前沿或者用戶群最大的領(lǐng)域推進(jìn),幫助大家認(rèn)識(shí)和了解最新動(dòng)態(tài)。
作者團(tuán)隊(duì)
組織國家重點(diǎn)實(shí)驗(yàn)室和資深應(yīng)用專家聯(lián)手編著該套圖書,融合豐富的教學(xué)經(jīng)驗(yàn)與優(yōu)秀的管理理念。
學(xué)習(xí)型案例設(shè)計(jì)
以技術(shù)的實(shí)際應(yīng)用過程為主線,全程采用圖解和同步多媒體相結(jié)合的教學(xué)方式,生動(dòng)、直觀、全面地剖析使用過程中的各種應(yīng)用技能,降低難度,提升學(xué)習(xí)效率。
為什么要寫這樣一本書
Python具有豐富和強(qiáng)大的庫。它常被稱為“膠水語言”,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。從網(wǎng)絡(luò)社區(qū)的火熱討論來看,Python已成為最受歡迎的編程語言之一。對不同規(guī)模的企業(yè)來說,Python程序員的薪資呈企業(yè)規(guī)模越大薪資越高的趨勢。目前學(xué)習(xí)和關(guān)注Python的人越來越多,而很多Python的初學(xué)者都苦于找不到一本通俗易懂、容易入門和案例實(shí)用的參考書。通過本書的案例實(shí)訓(xùn),大學(xué)生可以很快地上手流行的工具,提高職業(yè)化能力,從而幫助解決公司與學(xué)生的雙重需求問題。
本書特色
* 零基礎(chǔ)、入門級(jí)的講解。
無論你是否從事計(jì)算機(jī)相關(guān)行業(yè),是否接觸過Python編程語言,都能從本書中找到最佳起點(diǎn)。
* 超多、實(shí)用、專業(yè)的范例和項(xiàng)目。
本書在編排上緊密結(jié)合深入學(xué)習(xí)Python編程技術(shù)的先后順序,從Python的基本語法開始,帶領(lǐng)大家逐步深入地學(xué)習(xí)各種應(yīng)用技巧,側(cè)重實(shí)戰(zhàn)技能,使用簡單易懂的實(shí)際案例進(jìn)行分析和操作指導(dǎo),讓讀者讀起來簡明輕松,操作起來有章可循。
* 隨時(shí)檢測自己的學(xué)習(xí)成果。
每章首頁中,均提供了學(xué)習(xí)目標(biāo),以指導(dǎo)讀者重點(diǎn)學(xué)習(xí)及學(xué)后檢查。
大部分章節(jié)最后的“跟我練練手”板塊,均根據(jù)本章內(nèi)容精選而成,讀者可以隨時(shí)檢測自己的學(xué)習(xí)成果和實(shí)戰(zhàn)能力,做到融會(huì)貫通。
* 細(xì)致入微、貼心提示。
本書在講解過程中,在各章中使用了“注意”和“提示”等小貼士,使讀者在學(xué)習(xí)過程中更清楚地了解相關(guān)操作、理解相關(guān)概念,并輕松掌握各種操作技巧。
* 專業(yè)創(chuàng)作團(tuán)隊(duì)和技術(shù)支持。
本書由千谷高新教育中心編著并提供技術(shù)支持。
你在學(xué)習(xí)過程中遇到任何問題,都可加入QQ群(案例課堂VIP)——451102631進(jìn)行提問,專家人員會(huì)在線答疑。
超值贈(zèng)送資源
* 全程同步教學(xué)錄像。
涵蓋本書所有知識(shí)點(diǎn),詳細(xì)講解每個(gè)實(shí)例及項(xiàng)目的過程及技術(shù)關(guān)鍵點(diǎn),能更輕松地掌握書中所有的Python編程語言知識(shí),而且擴(kuò)展的講解部分使你得到比書中更多的收獲。
* 超多容量王牌資源大放送。
贈(zèng)送大量王牌資源,包括本書實(shí)例源代碼、教學(xué)幻燈片、本書精品教學(xué)視頻、16大經(jīng)典Python項(xiàng)目源碼、Python錯(cuò)誤代碼表速查手冊、Python 2.x和Python 3.x版本的區(qū)別速查手冊、Python 標(biāo)準(zhǔn)庫速查手冊、Python開發(fā)常見問題解決方案、Python工程師面試常見面試題等。除了可以通過QQ群(案例課堂VIP)——451102631獲取贈(zèng)送資源,讀者還可以進(jìn)入http://www.apecoding.com/下載贈(zèng)送資源。
讀者對象
* 沒有任何Python編程基礎(chǔ)的初學(xué)者。
* 有一定的Python編程基礎(chǔ),想精通Python開發(fā)的人員。
* 有一定的Python基礎(chǔ),沒有項(xiàng)目經(jīng)驗(yàn)的人員。
* 正在進(jìn)行畢業(yè)設(shè)計(jì)的學(xué)生。
* 大專院校及培訓(xùn)學(xué)校的老師和學(xué)生。
創(chuàng)作團(tuán)隊(duì)
本書由劉春茂和展娜娜編著,參加編寫的人員還有蒲娟、劉玉萍、李琪、周佳、付紅、李園、郭廣新、侯永崗、王攀登、劉海松、孫若淞、王月嬌、包慧利、陳偉光、胡同夫、王偉、梁云梁和周浩浩。在編寫過程中,我們竭盡所能地將最好的講解呈現(xiàn)給讀者,但也難免有疏漏和不妥之處,敬請不吝指正。若你在學(xué)習(xí)中遇到困難或疑問,或有何建議,可寫信至信箱357975357@qq.com。
編 者
收起全部↑
裴雨龍:現(xiàn)在荷蘭埃因霍溫理工大學(xué)博士在讀,主要研究方向?yàn)樯缃痪W(wǎng)絡(luò)分析、數(shù)據(jù)挖掘以及自然語言處理。分別在美國卡內(nèi)基-梅隆大學(xué)和北京大學(xué)獲得語言技術(shù)以及計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)碩士學(xué)位。在國內(nèi)外著名學(xué)術(shù)會(huì)議上發(fā)表論文10余篇。
目 錄
第1篇 基 礎(chǔ) 知 識(shí)
第1章 揭開Python神秘面紗 3
1.1 什么是Python 4
1.2 Python的優(yōu)點(diǎn)和特性 4
1.2.1 Python的優(yōu)點(diǎn) 4
1.2.2 Python的特點(diǎn) 5
1.3 搭建Python 3的編程環(huán)境 6
1.4 運(yùn)行Python的3種方式 8
1.5 享受安裝成果——編寫第一個(gè)Python
程序 9
1.6 Python是怎樣運(yùn)行的 11
1.7 大神解惑 12
1.8 跟我練練手 12
第2章 初識(shí)廬山真面目——
基礎(chǔ)語法 13
2.1 標(biāo)識(shí)符和保留字 14
2.2 變量 14
2.3 程序結(jié)構(gòu) 15
2.4 數(shù)據(jù)類型 17
2.4.1 Number(數(shù)字) 17
2.4.2 String(字符串) 19
2.4.3 Sets(集合) 20
2.4.4 List(列表) 20
2.4.5 Tuple(元組) 21
2.4.6 Dictionary(字典) 22
2.5 運(yùn)算符和優(yōu)先級(jí) 22
2.5.1 算術(shù)運(yùn)算符 22
2.5.2 比較運(yùn)算符 23
2.5.3 賦值運(yùn)算符 25
2.5.4 邏輯運(yùn)算符 26
2.5.5 位運(yùn)算符 27
2.5.6 身份運(yùn)算符 28
2.5.7 成員運(yùn)算符 29
2.5.8 運(yùn)算符的優(yōu)先級(jí) 29
2.6 大神解惑 31
2.7 跟我練練手 33
第3章 不可不知的數(shù)據(jù)結(jié)構(gòu)——列表、
元組和字典 35
3.1 列表的基本操作 36
3.1.1 列表對象的特性 36
3.1.2 列表包容 37
3.1.3 列表的操作符 38
3.1.4 列表的函數(shù)和方法 38
3.2 元組的基本操作 41
3.2.1 元組對象的特性 41
3.2.2 元組的內(nèi)置函數(shù) 42
3.3 字典的基本操作 43
3.3.1 字典對象的特性 43
3.3.2 字典的內(nèi)置函數(shù)和方法 45
3.4 大神解惑 47
3.5 跟我練練手 47
第4章 一連串的字符——字符串操作 49
4.1 訪問字符串中的值 50
4.2 字符串的更新 50
4.3 轉(zhuǎn)義字符 51
4.4 字符串運(yùn)算符 52
4.5 字符串格式化 53
4.6 字符串使用的方法 54
4.7 大神解惑 58
4.8 跟我練練手 59
第5章 程序的執(zhí)行方向——流程控制和
函數(shù) 61
5.1 基本處理流程 62
5.2 賦值語句 63
5.3 條件判斷語句 63
5.3.1 if語句 63
5.3.2 if嵌套 64
5.4 循環(huán)控制語句 65
5.4.1 while語句 65
5.4.2 for語句 67
5.4.3 continue語句和break語句 68
5.4.4 pass語句 69
5.4.5 妙用range()函數(shù)和len()函數(shù) 70
5.5 內(nèi)置函數(shù) 71
5.6 用戶自定義函數(shù) 73
5.6.1 定義函數(shù) 74
5.6.2 函數(shù)的參數(shù)傳遞 75
5.6.3 return語句 77
5.6.4 變量作用域 78
5.6.5 函數(shù)的內(nèi)置屬性和命名空間 79
5.7 輸入和輸出函數(shù) 80
5.8 大神解惑 81
5.9 跟我練練手 82
第II篇 核 心 技 術(shù)
第6章 主流軟件開發(fā)方法——
對象與類 85
6.1 理解面向?qū)ο蟪绦蛟O(shè)計(jì) 86
6.1.1 什么是對象 86
6.1.2 面向?qū)ο蟮奶卣?87
6.1.3 什么是類 87
6.2 類的定義 88
6.3 類的構(gòu)造方法和內(nèi)置屬性 88
6.4 類實(shí)例 90
6.4.1 創(chuàng)建類實(shí)例 90
6.4.2 類實(shí)例的內(nèi)置屬性 92
6.5 類的內(nèi)置方法 93
6.6 重載運(yùn)算符 99
6.7 類的繼承 100
6.8 類的多態(tài) 103
6.9 類的封裝 104
6.10 元類 106
6.11 垃圾回收 107
6.12 大神解惑 108
6.13 跟我練練手 109
第7章 錯(cuò)誤終結(jié)者——程序調(diào)試和
異常處理 111
7.1 新手常見錯(cuò)誤和異常 112
7.2 異常是什么 114
7.3 內(nèi)置異常 115
7.4 使用try…except語句處理異常 121
7.5 異常類的實(shí)例和清除異常 124
7.5.1 異常類的實(shí)例 124
7.5.2 清除異常 125
7.6 內(nèi)置異常的協(xié)助模塊 126
7.6.1 sys模塊 126
7.6.2 traceback對象 126
7.7 拋出異常 126
7.7.1 raise語句 127
7.7.2 結(jié)束解釋器的運(yùn)行 127
7.7.3 離開嵌套循環(huán) 128
7.8 用戶定義異常類 129
7.9 程序調(diào)試 130
7.9.1 使用assert語句 130
7.9.2 使用__debug__內(nèi)置變量 131
7.10 錯(cuò)誤代碼 132
7.11 大神解惑 133
7.12 跟我練練手 134
第2章 初識(shí)廬山真面目—— 基礎(chǔ)語法
Python的語言特性是簡潔明了,當(dāng)運(yùn)行一個(gè)功能時(shí),Python通常只使用一種固定的方式。Python雖然不像其他計(jì)算機(jī)語言有豐富的語法格式,卻可以完成其他計(jì)算機(jī)語言所能完成的功能,而且更容易。本章主要講述Python的一些基本語法。
本章要點(diǎn)(已掌握的,在方框中打鉤)
�6�1 了解標(biāo)識(shí)符和保留字。
�6�1 掌握定義變量的方法。
�6�1 掌握Python的程序結(jié)構(gòu)。
�6�1 掌握Python 的數(shù)據(jù)類型。
�6�1 掌握Python的運(yùn)算符和優(yōu)先級(jí)。
2.1 標(biāo)識(shí)符和保留字
標(biāo)識(shí)符用來識(shí)別變量、函數(shù)、類、模塊以及對象的名稱。Python的標(biāo)識(shí)符可以包含英文字母(A~Z,a~z)、數(shù)字(0~9)及下劃線符號(hào)(_),但是它有以下幾個(gè)方面的限制。
(1) 標(biāo)識(shí)符的第1個(gè)字符必須是字母表中字母或下劃線符號(hào),并且變量的名稱之間不能有空格。
(2) Python的標(biāo)識(shí)符有大小寫之分,因此Data與data是不同的標(biāo)識(shí)符。
(3) 在Python 3中,非ASCII標(biāo)識(shí)符也被允許使用。
(4) 保留字不可以當(dāng)作標(biāo)識(shí)符。
保留字也叫關(guān)鍵字,不能把它們用作任何標(biāo)識(shí)符名稱。讀者可以使用以下命令查看Python的保留字:
>>> import keyword
>>> keyword.kwlist
運(yùn)行結(jié)果如下:
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
運(yùn)行結(jié)果中顯示了目前Python已經(jīng)定義好的關(guān)鍵字,用戶在定義標(biāo)識(shí)符時(shí)要特別注意,不能和關(guān)鍵字重復(fù)。
2.2 變 量
在Python解釋器內(nèi)可以直接聲明變量的名稱,不必聲明變量的類型,Python會(huì)自動(dòng)判別變量的類型。
例如,聲明一個(gè)變量x,并且賦值為1:
>>>x =1
>>>x
1
例如,聲明一個(gè)變量y,并且賦值為100:
>>>y=100
>>>print(y)
100
讀者可以在解釋器內(nèi)直接做數(shù)值計(jì)算。例如下面的加法運(yùn)算:
>>>1 + 2
3
當(dāng)用戶在解釋器內(nèi)輸入一個(gè)變量后,Python會(huì)記住這個(gè)變量的值。例如下面的運(yùn)算:
>>> x=2
>>>y=x + 3
>>>y
5
Python 中的變量不需要聲明。每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建。
如果創(chuàng)建變量時(shí)沒有賦值,會(huì)提示錯(cuò)誤。例如,下面語句在沒有給變量m賦值的情況下,就開始調(diào)用該變量: