Python是一門簡(jiǎn)單易學(xué)、功能強(qiáng)大的編程語言,擁有高效的高層數(shù)據(jù)結(jié)構(gòu),特別適用于快速應(yīng)用程序開發(fā)。《Python程序設(shè)計(jì)基礎(chǔ)教程》共分為16章,主要內(nèi)容包括:Python簡(jiǎn)介、Python環(huán)境搭建、函數(shù)、模塊、文件操作、字符串與正則表達(dá)式、面向?qū)ο缶幊獭惓L幚怼ython基本概念、Python控制結(jié)構(gòu)、Python多線程與多進(jìn)程編程、使用Python進(jìn)行GUI開發(fā)、使用Python進(jìn)行數(shù)據(jù)管理、Python Socket網(wǎng)絡(luò)編程、使用Python進(jìn)行Web開發(fā),以及Python綜合應(yīng)用實(shí)例。
《Python程序設(shè)計(jì)基礎(chǔ)教程》既可以作為高等院校相關(guān)專業(yè)的教材,也可以作為程序設(shè)計(jì)愛好者的學(xué)習(xí)指導(dǎo)用書。
詳細(xì)介紹了Python語言的各種規(guī)則和規(guī)范。
選取了Python在一些當(dāng)下流行的具體應(yīng)用場(chǎng)景下的使用方法。
在某些章節(jié),尤其是有關(guān)實(shí)際編程的章節(jié),輔助有視頻講解。
前 言
Python是一門解釋型、支持面向?qū)ο筇匦缘摹?dòng)態(tài)數(shù)據(jù)類型的高級(jí)程序設(shè)計(jì)語言。自從20世紀(jì)90年代Python公開發(fā)布以來,經(jīng)過20多年的發(fā)展,Python以其語法簡(jiǎn)潔而高效、類庫豐富而強(qiáng)大、適合快速開發(fā)等原因,成為當(dāng)下最流行的腳本語言之一,也被廣泛應(yīng)用到統(tǒng)計(jì)分析、計(jì)算可視化、圖像工程和網(wǎng)站開發(fā)等許多專業(yè)領(lǐng)域。
相比于C++、Java等語言來說,Python更加易于學(xué)習(xí)和掌握,并且利用其大量的內(nèi)置函數(shù)與豐富的擴(kuò)展庫來快速實(shí)現(xiàn)許多復(fù)雜的功能。在Python語言的學(xué)習(xí)過程中,仍然需要通過不斷的練習(xí)與體會(huì)來熟悉Python的編程模式,盡量不要將其他語言的編程風(fēng)格用在Python中,而要從自然、簡(jiǎn)潔的角度出發(fā),以免設(shè)計(jì)出冗長(zhǎng)且低效的Python程序。
本書的主要特色如下。
知識(shí)技術(shù)全面準(zhǔn)確:本書主要針對(duì)國(guó)內(nèi)高校相關(guān)專業(yè)的學(xué)生及程序設(shè)計(jì)愛好者,詳細(xì)介紹了Python語言的各種規(guī)則和規(guī)范,以便讓讀者能夠全面掌握這門語言,從而設(shè)計(jì)出優(yōu)秀的程序。
內(nèi)容架構(gòu)循序漸進(jìn):本書的知識(shí)脈絡(luò)清晰明了,第1~5章主要介紹Python的基本語法規(guī)則,第6~9章主要講解一些更加深層的概念,而第10~16章則選取了Python在一些當(dāng)下流行的具體應(yīng)用場(chǎng)景下的使用方法。本書內(nèi)容由淺入深,便于讀者理解和掌握。
代碼實(shí)例豐富完整:針對(duì)書中的每一個(gè)知識(shí)點(diǎn)都會(huì)配有一些示例代碼,并輔以相關(guān)說明文字及運(yùn)行結(jié)果,某些章節(jié)還會(huì)對(duì)一些經(jīng)典的程序設(shè)計(jì)問題進(jìn)行深入的講解和探討。讀者可以參考源程序上機(jī)操作,加深體會(huì)。
微課輔助學(xué)習(xí):在某些章節(jié),尤其是有關(guān)實(shí)際編程的章節(jié),輔助有視頻講解。
本書中所有的代碼均能在Python 2.7.11版本下成功運(yùn)行,對(duì)其稍加調(diào)整后也可以適用于Python 3.x版本。
本書由呂云翔、孟爻、趙天宇、張?jiān)⒐魶_編著。
由于Python的教學(xué)方法本身還在探索之中,加之編者的水平和能力有限,本書難免存在疏漏之處。懇請(qǐng)各位同仁和廣大讀者給予批評(píng)指正,也希望各位讀者能將實(shí)踐過程中的經(jīng)驗(yàn)和心得與我們交流。
第1章 Python簡(jiǎn)介
1.1 Python的發(fā)展歷程
1.2 Python的語言特點(diǎn)
習(xí)題
第2章 Python環(huán)境搭建
2.1 Python安裝
2.1.1 在Windows平臺(tái)上安裝Python
2.1.2 在UNIX & Linux平臺(tái)上
安裝Python
2.1.3 在Mac平臺(tái)上安裝Python
2.2 Windows下的環(huán)境變量配置
2.3 Hello, Python
習(xí)題
第3章 Python基本概念
3.1 基本數(shù)據(jù)類型
3.1.1 整型
3.1.2 浮點(diǎn)型
3.1.3 復(fù)數(shù)
3.1.4 字符串
3.1.5 布爾值
3.1.6 空值
3.1.7 變量
3.1.8 變量的命名
3.1.9 變量的創(chuàng)建
3.2 運(yùn)算符
3.2.1 算術(shù)運(yùn)算符
3.2.2 關(guān)系運(yùn)算符
3.2.3 邏輯運(yùn)算符
3.2.4 位運(yùn)算符
3.2.5 身份運(yùn)算符
3.2.6 成員運(yùn)算符
3.3 表達(dá)式
3.3.1 算術(shù)表達(dá)式
3.3.2 優(yōu)先級(jí)
3.4 賦值語句
3.4.1 賦值運(yùn)算符
3.4.2 增強(qiáng)型賦值運(yùn)算符
3.5 常用函數(shù)
3.5.1 常用內(nèi)置函數(shù)
3.5.2 類型轉(zhuǎn)換函數(shù)
3.5.3 數(shù)學(xué)運(yùn)算函數(shù)
3.6 常用模塊
3.6.1 math模塊
3.6.2 random模塊
3.7 基本輸入/輸出
3.7.1 基本輸出
3.7.2 基本輸入
習(xí)題
第4章 Python控制結(jié)構(gòu)26
4.1 三種基本控制結(jié)構(gòu)26
4.1.1 選擇結(jié)構(gòu)26
4.1.2 單選擇結(jié)構(gòu)——if語句26
4.1.3 雙選擇結(jié)構(gòu)——if…else語句28
4.1.4 多選擇結(jié)構(gòu)——if…elif…else語句29
4.1.5 選擇結(jié)構(gòu)的嵌套31
4.2 實(shí)例:使用選擇結(jié)構(gòu)進(jìn)行程序
設(shè)計(jì)32
4.2.1 鑒別合法日期32
4.2.2 判斷兩個(gè)圓的位置關(guān)系34
4.3 循環(huán)結(jié)構(gòu)38
4.3.1 while循環(huán)38
4.3.2 for循環(huán)40
4.3.3 break語句與continue語句41
4.3.4 循環(huán)結(jié)構(gòu)的嵌套42
4.4 實(shí)例:使用循環(huán)結(jié)構(gòu)進(jìn)行程序
設(shè)計(jì)43
4.4.1 計(jì)算質(zhì)數(shù)43
4.4.2 計(jì)算 的近似值44
習(xí)題45
第5章 函數(shù)47
5.1 函數(shù)的定義47
5.1.1 空函數(shù)47
5.1.2 參數(shù)檢查48
5.1.3 返回多個(gè)值49
5.2 函數(shù)調(diào)用49
5.2.1 按值傳遞參數(shù)和按引用傳遞參數(shù)50
5.2.2 函數(shù)的參數(shù)50
5.2.3 匿名函數(shù)53
5.2.4 return語句53
5.2.5 變量作用域54
習(xí)題55
第6章 模塊56
6.1 模塊的概念56
6.1.1 命名空間56
6.1.2 模塊57
6.1.3 包58
6.2 模塊內(nèi)置屬性58
6.3 第三方模塊安裝方法59
習(xí)題59
第7章 文件操作60
7.1 文件讀寫60
7.1.1 打開文件60
7.1.2 寫入文件61
7.1.3 讀取文件62
7.1.4 文件讀寫異常處理64
7.2 其他文件操作64
7.2.1 os模塊文件操作65
7.2.2 shutil模塊文件操作67
習(xí)題67
第8章 字符串與正則表達(dá)式69
8.1 字符串的基本操作69
8.1.1 下標(biāo)訪問69
8.1.2 切片操作69
8.1.3 字符串拼接與復(fù)制70
8.1.4 in/not in運(yùn)算符70
8.1.5 比較運(yùn)算符70
8.1.6 for循環(huán)遍歷字符串70
8.2 字符串相關(guān)的函數(shù)70
8.3 格式化字符串74
8.4 實(shí)例:使用字符串進(jìn)行程序
設(shè)計(jì)75
8.4.1 檢測(cè)回文串75
8.4.2 字符串的簡(jiǎn)單加密76
8.5 字符編碼80
8.5.1 字符編碼簡(jiǎn)介80
8.5.2 使用Python處理中文81
8.6 正則表達(dá)式83
8.6.1 正則表達(dá)式簡(jiǎn)介83
8.6.2 使用re模塊處理正則表達(dá)式85
8.7 實(shí)例:使用正則表達(dá)式進(jìn)行程序
設(shè)計(jì)88
8.7.1 用戶注冊(cè)信息格式校驗(yàn)88
8.7.2 模擬scanf函數(shù)89
習(xí)題90
第9章 面向?qū)ο缶幊?2
9.1 面向?qū)ο缶幊痰母拍?2
9.2 類與對(duì)象93
9.2.1 類與實(shí)例化93
9.2.2 初始化函數(shù)與析構(gòu)函數(shù)93
9.2.3 類的屬性94
9.2.4 類的方法96
9.3 面向?qū)ο蟮娜筇匦?7
9.3.1 繼承97
9.3.2 訪問控制103
9.3.3 多態(tài)104
9.4 特殊的屬性與方法105
9.4.1 __slots__屬性105
9.4.2 只讀的特殊屬性106
9.4.3 __str__()方法106
9.4.4 __repr__()方法107
習(xí)題108
第10章 異常處理109
10.1 異常的概念109
10.2 異常的拋出與捕獲110
10.3 自定義異常111
10.4 使用斷言異常處理113
習(xí)題113
第11章 Python多線程與多進(jìn)程編程114
11.1 線程與進(jìn)程114
11.1.1 進(jìn)程114
11.1.2 線程114
11.1.3 多線程與多進(jìn)程115
11.2 Python多線程編程115
11.2.1 Python多線程的特殊性115
11.2.2 使用threading模塊進(jìn)行多線程
編程116
11.3 Python多進(jìn)程編程131
11.3.1 Python多進(jìn)程編程的特點(diǎn)131
11.3.2 使用multiprocessing模塊進(jìn)行多
進(jìn)程編程131
習(xí)題142
第12章 使用Python進(jìn)行GUI開發(fā)143
12.1 GUI編程簡(jiǎn)介143
12.1.1 窗口與組件143
12.1.2 事件驅(qū)動(dòng)與回調(diào)機(jī)制143
12.2 Tkinter的主要組件144
12.2.1 標(biāo)簽144
12.2.2 框架145
12.2.3 按鈕145
12.2.4 輸入框146
12.2.5 單選按鈕和復(fù)選按鈕146
12.2.6 列表框與滾動(dòng)條148
12.2.7 畫布149
12.2.8 標(biāo)準(zhǔn)對(duì)話框151
12.3 實(shí)例:使用Tkinter進(jìn)行GUI
編程——三連棋游戲152
12.3.1 用戶界面設(shè)計(jì)152
12.3.2 創(chuàng)建菜單152
12.3.3 創(chuàng)建游戲面板154
12.3.4 將用戶界面與游戲連接155
習(xí)題160
第13章 使用Python進(jìn)行數(shù)據(jù)管理161
13.1 引言161
13.2 數(shù)據(jù)對(duì)象的持久化162
13.2.1 使用pickle模塊存取對(duì)象162
13.2.2 使用shelve模塊隨機(jī)訪問對(duì)象163
13.3 使用itertools模塊分析和處理
數(shù)據(jù)164
13.3.1 數(shù)據(jù)過濾函數(shù)164
13.3.2 c