定 價(jià):49 元
叢書名:高等教育質(zhì)量工程信息技術(shù)系列示范教材
- 作者:張基溫 魏士靖
- 出版時(shí)間:2019/1/1
- ISBN:9787302511908
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP311.561
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書是一本Python基礎(chǔ)教材。全書以Python 3.0為藍(lán)本,分6章介紹。
第1章從模仿計(jì)算器進(jìn)行簡單的計(jì)算入手,帶領(lǐng)讀者邁進(jìn)Python門檻;順勢(shì)引導(dǎo)讀者掌握Python模塊的用法、變量的用法;再進(jìn)一步引入選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu),使讀者有了程序和算法的基本概念,進(jìn)入程序設(shè)計(jì)的殿堂。第2章首先介紹Python特有的數(shù)據(jù)對(duì)象與變量之間的關(guān)系,然后較詳細(xì)地介紹了Python各種內(nèi)置的數(shù)據(jù)類型。第3章從正常處理和異常處理兩個(gè)角度介紹Python程序過程的兩種基本組織形式:函數(shù)和異常處理,并介紹與之相關(guān)的名字空間和作用域的概念。第4章把讀者從面向過程帶到面向類的程序設(shè)計(jì),內(nèi)容包括類與對(duì)象、類與對(duì)象的通用屬性與操作、類的繼承。第5章為Python GUI開發(fā),使讀者具備開發(fā)友好界面程序的能力。 第6章為Python應(yīng)用開發(fā)舉例,從數(shù)據(jù)處理和網(wǎng)絡(luò)應(yīng)用兩個(gè)*基本應(yīng)用領(lǐng)域,培養(yǎng)讀者的應(yīng)用開發(fā)能力。
本書力求內(nèi)容精練、概念準(zhǔn)確、代碼便于閱讀、習(xí)題豐富全面、適合教,也容易學(xué);例子分正反兩種,以利正本清源。為了便于初學(xué)者很快使用Python以豐富的模塊支撐的環(huán)境,書后給出了Python內(nèi)置函數(shù)、Python文件和目錄管理、Python 3.0標(biāo)準(zhǔn)異常類體系和Python標(biāo)準(zhǔn)模塊庫目錄。
? 彰顯計(jì)算思維 語言藝術(shù) 工程規(guī)范的程序設(shè)計(jì)教育理念。
? 概念力求精準(zhǔn),突出思想性、啟發(fā)性、本質(zhì)性。
? 結(jié)構(gòu)力求嚴(yán)謹(jǐn)、緊湊,便于知識(shí)總結(jié)、梳理。
? 例題力求經(jīng)典,例程力求簡短,便于閱讀、理解。
? 素材力求豐富,創(chuàng)造一個(gè)良好的知識(shí)建構(gòu)環(huán)境和后期學(xué)習(xí)參考。
? 習(xí)題力求豐富、多樣,減輕教師開發(fā)題目的負(fù)擔(dān)。
? 零起點(diǎn)、輕松入門、螺旋式深入,適合不同層次的教學(xué)。
? 以Python 3.6.1為藍(lán)本,例程多在IDLE界面上調(diào)試,以便初學(xué)者快速掌握Python語法。
前言
近年來,一種程序設(shè)計(jì)語言日漸粲然,使許多紅極一時(shí)的程序設(shè)計(jì)語言黯然失色,得到人們的空前青睞,使得在學(xué)界和業(yè)界出現(xiàn)了揭竿而起、應(yīng)者云集的景象。這種程序設(shè)計(jì)語言就是Python。本書也想在此時(shí)為熊熊燃起的Python烈火再添上一把柴。
(一)
Python之所以能夠冉冉升起,在于其鮮明的特色。
Python簡單、易學(xué)。它雖然是用C語言寫的,但是它摒棄了C語言中任性不羈的指針,降低了學(xué)習(xí)和應(yīng)用的難度。
Python代碼明確、優(yōu)雅。其代碼描述具有偽代碼風(fēng)格,使人容易理解;其強(qiáng)制縮進(jìn)的規(guī)則使得代碼具有極佳的可讀性。
Python自由、開放。Python是FLOSS(Free/Libre and Open Source Software,自由/開放源碼軟件)之一。它支持向不同的平臺(tái)上移植,允許部分程序用應(yīng)用廣泛的C/C 語言編寫;它可提供腳本功能,允許把Python程序嵌入C/C 程序中。它還鼓勵(lì)更優(yōu)秀者的創(chuàng)造、改進(jìn)與擴(kuò)張,因此使其在短短的發(fā)展歷程中形成異常龐大、幾乎覆蓋一切應(yīng)用領(lǐng)域的標(biāo)準(zhǔn)庫和第三方庫,為開發(fā)者提供了豐富的可復(fù)用資源和便利的開發(fā)環(huán)境。
(二)
為了彰顯優(yōu)勢(shì),Python博采眾長、趨利避害,形成一套獨(dú)特的語法體系。其中有些語法現(xiàn)象是用別的語言的語法體系解釋不清楚的,強(qiáng)行解釋反而會(huì)誤導(dǎo)學(xué)者。本書力圖正本清源,從基本理論出發(fā),對(duì)Python的語法給出一個(gè)清晰而本原的概念和解釋,以此為基礎(chǔ)快速而扎實(shí)地將學(xué)習(xí)者帶進(jìn)Python應(yīng)用開發(fā)中展現(xiàn)才干。
本書共分6章。第1章從初中水平的讀者就能懂的計(jì)算開始,將讀者引進(jìn)Python 世界。同時(shí),插進(jìn)一些最基本的語法知識(shí),如輸入輸出、變量、模塊,然后通過選擇和循環(huán)結(jié)構(gòu)帶領(lǐng)讀者在簡單算法中試水。
第2~4章在第1章的基礎(chǔ)上深入淺出地介紹數(shù)據(jù)類型、面向過程的結(jié)構(gòu)和面向?qū)ο蟮慕Y(jié)構(gòu)。在此期間讓學(xué)習(xí)者進(jìn)一步理解對(duì)象與變量、各種原子類型和內(nèi)置容器類型、函數(shù)、異常處理、名字空間與作用域。
第5、6章是應(yīng)用開發(fā)。第5章為Python UGI開發(fā),第6章為Python應(yīng)用開發(fā)舉例。這兩章的內(nèi)容突出了Python應(yīng)用開發(fā)的兩個(gè)要素:領(lǐng)域知識(shí)的了解和相應(yīng)模塊的應(yīng)用。
(三)
著名心理學(xué)家皮亞杰創(chuàng)建的結(jié)構(gòu)主義對(duì)教師的主要職責(zé)定義是為學(xué)習(xí)者創(chuàng)建學(xué)習(xí)環(huán)境。教材是為學(xué)習(xí)者創(chuàng)建的一種學(xué)習(xí)環(huán)境。除正文的內(nèi)容選擇、順序安排之外,還有例題、練習(xí)題和附錄。
本書例題力求代碼精干,以便讀者理解。練習(xí)題是以大節(jié)為單位進(jìn)行組織的,并且題型多樣,針對(duì)性強(qiáng),便于學(xué)習(xí)者學(xué)習(xí)某一節(jié)后,立即可以從不同角度進(jìn)行檢測(cè)。
鑒于已經(jīng)出版的多種教材中存在的對(duì)Python基本概念解釋含混,甚至錯(cuò)誤的情況,本書還收集了一些著作中的錯(cuò)誤概念作為反例放在相關(guān)的習(xí)題中,供讀者分析、批判,以正本清源,提高讀者對(duì)Python語法的辨別、理解和應(yīng)用能力。
本書的附錄由四部分組成:Python內(nèi)置函數(shù)、Python 3.0標(biāo)準(zhǔn)異常類結(jié)構(gòu)、文件與目錄管理和Python標(biāo)準(zhǔn)模塊庫目錄。這些內(nèi)容相當(dāng)于一個(gè)常用手冊(cè),可以為初學(xué)者提供一個(gè)繼續(xù)學(xué)習(xí)或擴(kuò)展學(xué)習(xí)的環(huán)境。
(四)
進(jìn)行編寫中,收集并設(shè)計(jì)了多種類型的習(xí)題,并且在每一節(jié)后面都給出了相應(yīng)的練習(xí)題。作為Python教材,本書把附錄和習(xí)題作為正文之外的兩個(gè)重要的學(xué)習(xí)環(huán)境。本書的附錄包括操作符、內(nèi)置函數(shù)、模塊目錄和異常類結(jié)構(gòu)。這些內(nèi)容相當(dāng)于一本簡明的應(yīng)用手冊(cè),會(huì)給想繼續(xù)深入并提高自己Python開發(fā)能力的學(xué)習(xí)者提供一個(gè)擴(kuò)展的環(huán)境。
這些附錄也表明Python開源代碼的特點(diǎn)和社區(qū)廣大熱心者的支持,是Python生命力的源泉。雖然目前Python已經(jīng)有上千種模塊可以被利用,而附錄中列出的Python 3x的標(biāo)準(zhǔn)模塊庫僅有20多項(xiàng),但已足以對(duì)Python的應(yīng)用范圍畫出一個(gè)輪廓。
(五)
在本書出版之前,魏士靖細(xì)心進(jìn)行了代碼校驗(yàn)和文字校對(duì),并制作了PPT;吳灼偉設(shè)計(jì)了書中部分插圖;劉硯秋、趙忠孝、姚威、張展為、張秋菊、史林娟、張有明等也參與了部分工作。在此謹(jǐn)表謝意。
本書的出版是我在程序設(shè)計(jì)教學(xué)改革工作中跨上的一個(gè)新臺(tái)階。本人衷心希望得到有關(guān)專家和讀者的批評(píng)和建議,也希望能多結(jié)交一些志同道合者,把本書改得更好一些。
張基溫
戊戌初夏于穗小海之畔
目錄
第1章 一個(gè)萬能計(jì)算器 1
1.1 簡單算術(shù)計(jì)算 1
1.1.1 Python算術(shù)操作符 1
1.1.2 回顯與print() 2
1.1.3 Python表達(dá)式計(jì)算規(guī)則 3
練習(xí)1.1 3
1.2 使用內(nèi)置數(shù)學(xué)函數(shù)計(jì)算 4
1.2.1 函數(shù)與內(nèi)置函數(shù) 4
1.2.2 Python計(jì)算型內(nèi)置函數(shù)對(duì)象 4
練習(xí)1.2 5
1.3 利用math模塊進(jìn)行計(jì)算 6
1.3.1 模塊化程序設(shè)計(jì)與Python模塊 6
1.3.2 導(dǎo)入模塊或?qū)ο?6
1.3.3 math模塊中的常量與函數(shù) 8
練習(xí)1.3 10
1.4 使用變量計(jì)算 11
1.4.1 數(shù)據(jù)對(duì)象、變量與賦值 11
1.4.2 幾種不同的賦值方式 12
1.4.3 Python標(biāo)識(shí)符與保留字 13
1.4.4 input()函數(shù) 14
練習(xí)1.4 15
1.5 選擇型計(jì)算 16
1.5.1 if-else型選擇的基本結(jié)構(gòu) 16
1.5.2 選擇表達(dá)式 17
1.5.3 if-else蛻化結(jié)構(gòu) 18
1.5.4 if-else嵌套 18
1.5.5 if-elif選擇結(jié)構(gòu) 19
練習(xí)1.5 20
1.6 重復(fù)型計(jì)算 21
1.6.1 while語句 22
1.6.2 for語句 23
1.6.3 循環(huán)嵌套 25
1.6.4 在IDLE中執(zhí)行功能完整的代碼段 27
1.6.5 循環(huán)中斷語句與短路控制 28
練習(xí)1.6 29
1.7 窮舉與迭代 30
1.7.1 窮舉 30
1.7.2 迭代 32
練習(xí)1.7 37
第2章 Python數(shù)據(jù)對(duì)象 40
2.1 Python數(shù)據(jù)對(duì)象的屬性 40
2.1.1 Python數(shù)據(jù)對(duì)象的類型 40
2.1.2 Python對(duì)象的身份碼ID與判是操作 43
2.1.3 可變對(duì)象與不可變對(duì)象 45
2.1.4 Python數(shù)據(jù)對(duì)象生命期與垃圾回收 46
2.1.5 Python小整數(shù)對(duì)象池與大整數(shù)對(duì)象池 49
練習(xí)2.1 51
2.2 Python基本數(shù)據(jù)類型 52
2.2.1 bool類型 52
2.2.2 int類型 56
2.2.3 float類型 58
2.2.4 complex類型 59
2.2.5 Python數(shù)據(jù)類型轉(zhuǎn)換 60
練習(xí)2.2 62
2.3 序列 64
2.3.1 序列對(duì)象的構(gòu)建 64
2.3.2 序列通用操作 66
2.3.3 列表的個(gè)性化操作 72
練習(xí)2.3 74
2.4 字符串 77
2.4.1 字符串編碼與解碼 77
2.4.2 字符串的個(gè)性化操作 81
2.4.3 字符串格式化與format()方法 83
2.4.4 print()函數(shù)的格式控制 86
2.4.5 正則表達(dá)式 89
練習(xí)2.4 95
2.5 字典與集合 96
2.5.1 字典 96
2.5.2 集合 100
練習(xí)2.5 103
2.6 Python數(shù)據(jù)文件 106
2.6.1 數(shù)據(jù)文件概述 106
2.6.2 open()函數(shù) 107
2.6.3 文件屬性與方法 109
練習(xí)2.6 110
第3章 Python過程組織與管理 112
3.1 Python函數(shù) 112
3.1.1 函數(shù)及其關(guān)鍵環(huán)節(jié) 112
3.1.2 Python函數(shù)參數(shù)技術(shù) 116
3.1.3 Python函數(shù)的第一類對(duì)象特性 120
3.1.4 函數(shù)標(biāo)注 121
3.1.5 遞歸 122
3.1.6 lambda表達(dá)式 125
練習(xí)3.1 125
3.2 Python異常處理 129
3.2.1 異常處理的基本思路與異常類型 129
3.2.2 try-except語句 131
3.2.3 異常類型的層次結(jié)構(gòu) 133
3.2.4 else子句與finally子句 133
3.2.5 異常的人工觸發(fā):raise與assert 134
練習(xí)3.2 135
3.3 Python命名空間與作用域 136
3.3.1 Python命名空間 136
3.3.2 Python作用域 139
3.3.3 Python名字解析的LEGB規(guī)則 144
練習(xí)3.3 145
第4章 面向類的程序設(shè)計(jì) 147
4.1 類及其組成 147
4.1.1 類模型與類語法 147
4.1.2 對(duì)象的生成與_ _init_ _ ()方法 150
4.1.3 最小特權(quán)原則與成員訪問限制 152
4.1.4 實(shí)例方法、靜態(tài)方法與類方法 155
練習(xí)4.1 157
4.2 Python類的內(nèi)置屬性、方法與函數(shù) 158
4.2.1 類的內(nèi)置屬性 158
4.2.2 獲取類與對(duì)象特征的內(nèi)置函數(shù) 160
4.2.3 操作符重載 163
4.2.4 Python類屬性配置與管理內(nèi)置方法 166
練習(xí)4.2 173
4.3 類的繼承 175
4.3.1 類的繼承及其關(guān)系測(cè)試 176
4.3.2 新式類與object 178
4.3.3 子類訪問父類成員的規(guī)則 180
4.3.4 子類實(shí)例的初始化與super 180
練習(xí)4.3 185
第5章 Python GUI開發(fā) 188
5.1 組件、布局與事件處理 188
5.1.1 組件 188
5.1.2 布局與布局管理器 192
5.1.3 事件綁定與事件處理 195
練習(xí)5.1 200
5.2 GUI程序結(jié)構(gòu) 201
5.2.1 基于tkinter的GUI開發(fā)環(huán)節(jié) 201
5.2.2 面向?qū)ο蟮腉UI程序框架 204
練習(xí)5.2 206
5.3 GUI制作示例 206
5.3.1 Label與Button 207
5.3.2 Entry與Message 213
5.3.3 Text與滾動(dòng)條 217
5.3.4 選擇框 224
5.3.5 菜單 230
練習(xí)5.3 233
第6章 Python應(yīng)用開發(fā)舉例 234
6.1 Python數(shù)據(jù)庫操作 234
6.1.1 數(shù)據(jù)庫與SQL 234
6.1.2 用pyodbc訪問數(shù)據(jù)庫 235
6.1.3 SQLite3數(shù)據(jù)庫 242
練習(xí)6.1 244
6.2 Python Socket編程 245
6.2.1 TCP/IP與Socket 245
6.2.2 Socket模塊與Socket對(duì)象 249
6.2.3 TCP的Python Socket編程 251
6.2.4 UDP的Python Socket編程 254
練習(xí)6.2 256
6.3 Python WWW應(yīng)用開發(fā) 258
6.3.1 WWW及其關(guān)鍵技術(shù) 258
6.3.2 urllib模塊庫 264
6.3.3 urllib.parse模塊與URL解析 266
6.3.4 urllib.request模塊與網(wǎng)頁抓取 267
6.3.5 網(wǎng)頁提交表單 270
6.3.6 urllib.error模塊與異常處理 271
6.3.7 webbrowser模塊 272
練習(xí)6.3 273
附錄 275
附錄A Python內(nèi)置函數(shù) 275
A.1 數(shù)學(xué)運(yùn)算 275
A.2 邏輯判斷 275
A.3 容器操作 276
A.4 字符串相關(guān) 276
A.5 類型轉(zhuǎn)換 278
A.6 I/O操作 278
A.7 反射相關(guān) 278
A.8 其他 280
附錄B Python 3.0標(biāo)準(zhǔn)異常類結(jié)構(gòu)(PEP 348) 280
附錄C 文件與目錄管理 281
C.1 文件訪問函數(shù) 281
C.2 目錄操作 282
C.3 獲取或判斷文件和路徑屬性的函數(shù) 282
C.4 路徑操作 283
C.5 文件壓縮(zipfile模塊) 283
C.6 文件復(fù)制(shutil模塊) 285
附錄D Python標(biāo)準(zhǔn)模塊庫目錄 285
D.1 文本 285
D.2 二進(jìn)制數(shù)據(jù) 286
D.3 數(shù)據(jù)類型 286
D.4 數(shù)學(xué) 286
D.5 函數(shù)式編程 286
D.6 文件與目錄 286
D.7 持久化 287
D.8 壓縮 287
D.9 文件格式化 287
D.10 加密 287
D.11 操作系統(tǒng)工具 287
D.12 并發(fā)與并行 288
D.13 進(jìn)程間通信 288
D.14 互聯(lián)網(wǎng)相關(guān) 288
D.15 HTML與XML 289
D.16 互聯(lián)網(wǎng)協(xié)議與支持 289
D.17 多媒體 290
D.18 國際化 290
D.19 編程框架 290
D.20 Tk圖形用戶接口 290
D.21 開發(fā)工具 291
D.22 調(diào)試 291
D.23 運(yùn)行時(shí) 291
D.24 解釋器 291
D.25 導(dǎo)入模塊 292
D.26 Python語言 292
D.27 其他 292
D.28 Windows相關(guān) 292
D.29 UNIX相關(guān) 292
參考文獻(xiàn) 294