本書共分為16章,第1章主要介紹Python的發(fā)展歷史、特點、下載與安裝方法、使用方式、集成開發(fā)環(huán)境、內(nèi)置模塊、幫助的使用等內(nèi)容; 第2章主要介紹Python語言的基礎(chǔ)知識。第3章主要介紹程序控制結(jié)構(gòu); 第4章主要介紹Python中的常用數(shù)據(jù)結(jié)構(gòu),包括序列、字典、集合等數(shù)據(jù)結(jié)構(gòu); 第5章主要介紹函數(shù)的定義和調(diào)用、基于函數(shù)的抽象與求精思想、遞歸思想等內(nèi)容。第6章主要介紹文件的操作; 第7章主要介紹Python的面向?qū)ο缶幊谭椒ǎ?第8章主要介紹類的繼承與組合兩種重用方式; 第9章主要介紹Python中的異常處理方法; 第10章主要介紹使用wxPython進(jìn)行用戶圖形界面設(shè)計的方法; 第11章主要討論Python程序的打包和發(fā)布方法; 第12章主要介紹利用Python進(jìn)行數(shù)據(jù)庫應(yīng)用開發(fā); 第13章主要介紹利用Python進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)獲取的方法; 第14章主要介紹利用Python進(jìn)行數(shù)據(jù)分析和繪圖的基礎(chǔ)知識; 第15章主要介紹基于Python的網(wǎng)站開發(fā)方法; 第16章主要介紹Python作為腳本語言在SPSS中的使用方法。本書中的代碼均在Python 2.7.11中測試通過。
本書一方面?zhèn)戎鼗A(chǔ)知識的講解,另一方面?zhèn)戎乩肞ython進(jìn)行數(shù)據(jù)處理的方法和應(yīng)用。為了方便理解,本書主要挑選經(jīng)濟管理類的案例。本書適合非計算機專業(yè)本科生使用,可作為計算機程序設(shè)計的入門教材或Python愛好者的參考書。
內(nèi)容簡單易懂、層次脈絡(luò)清晰、難度適中,內(nèi)容、案例、難點安排恰當(dāng),非常適合教學(xué)。注重理論與實踐相結(jié)合,精選經(jīng)濟管理類案例,針對非計算機專業(yè)的本科生編寫。本書提供全套教學(xué)課件和源代碼,配套資源可登錄清華大學(xué)出版社官方網(wǎng)站下載。該教材受上海對外經(jīng)貿(mào)大學(xué)資助出版。
前言
Python是一種簡單、易學(xué)、免費、開源的跨平臺編程語言,支持命令式和函數(shù)式編程。它支持完全面向?qū)ο蟮某绦蛟O(shè)計。一方面,由于其簡單的語法,使得使用者不必太多關(guān)注語言本身,而將主要精力集中于業(yè)務(wù)邏輯。因此Python語言擁有各行各業(yè)的眾多使用者,使得其擁有各行業(yè)使用者在社區(qū)貢獻(xiàn)的各種強大的標(biāo)準(zhǔn)庫、擴展庫等。另一方面,隨著大數(shù)據(jù)時代的到來,Python的強大數(shù)據(jù)處理能力備受關(guān)注。近年來,Python程序設(shè)計語言受到了企業(yè)界、科研單位和教育機構(gòu)的廣泛重視。
大數(shù)據(jù)時代的學(xué)生需要掌握數(shù)據(jù)處理的基本技術(shù)。Python簡單易學(xué),具有強大的數(shù)據(jù)處理能力,并且是一門通用的程序設(shè)計語言。因此,Python程序設(shè)計語言既適合作為程序設(shè)計的入門課程,也適合作為非計算機專業(yè)學(xué)生用來解決數(shù)據(jù)分析等各種問題的通用工具。國外很多著名高校的計算機或非計算機專業(yè)已經(jīng)將Python作為程序設(shè)計入門課程。國內(nèi)的高校也紛紛開設(shè)相關(guān)課程。尤其是隨著計算思維和大數(shù)據(jù)概念的普及,Python程序設(shè)計在高校中的教學(xué)開始全面展開。
本書編著者所在學(xué)校從2014級開始在經(jīng)濟管理類專業(yè)全校公共課中開設(shè)了相關(guān)課程,該課程主要面向經(jīng)濟管理類的學(xué)生開設(shè)。現(xiàn)有教材中的大部分案例面向理工科專業(yè),難以貼近經(jīng)濟管理類專業(yè),甚至有部分學(xué)生對案例難以理解。為了使上課的案例與學(xué)生專業(yè)知識更加緊密結(jié)合,我們組織編寫了此教材。
本書由工作在教學(xué)第一線的高校教師編寫完成。在編寫本書時,編者注重理論與實踐相結(jié)合,不僅有基礎(chǔ)的理論知識,更有詳細(xì)、通俗易懂的案例。作為一本介紹Python基礎(chǔ)知識與應(yīng)用的教材,本書內(nèi)容簡單易懂、層次脈絡(luò)清晰、難度適中,內(nèi)容、案例、難點安排恰當(dāng),非常適合教學(xué)。
本書共16章,主要內(nèi)容及編寫分工如下:
第1章由楊年華負(fù)責(zé)編寫,主要介紹Python的發(fā)展歷史、特點、下載與安裝方法、使用方式、集成開發(fā)環(huán)境、內(nèi)置模塊介紹、幫助的使用等。
第2章由鄭戟明負(fù)責(zé)編寫,主要介紹Python語言的基礎(chǔ)知識,包括控制臺的使用、標(biāo)識符與變量、數(shù)據(jù)類型、常用內(nèi)置函數(shù)等。
第3章由張曉黎負(fù)責(zé)編寫,主要介紹程序控制結(jié)構(gòu),包括分支控制、循環(huán)控制等。
第4章由鄭戟明負(fù)責(zé)編寫,主要介紹Python中的常用數(shù)據(jù)結(jié)構(gòu),包括序列、字典、集合等數(shù)據(jù)結(jié)構(gòu)。
第5章由柳青負(fù)責(zé)編寫,主要介紹函數(shù)的定義和調(diào)用、形參與實參、函數(shù)的返回、位置參數(shù)、默認(rèn)參數(shù)、關(guān)鍵參數(shù)、可變長度參數(shù)、序列作為參數(shù)、基于函數(shù)的抽象與求精思想、遞歸思想等。
第6章由肖宇負(fù)責(zé)編寫,主要介紹文件的打開與關(guān)閉、文件讀寫、文件指針、文件對話框等。
第7章由柳青負(fù)責(zé)編寫,主要介紹Python的對象與方法、類的定義、類的屬性、構(gòu)造函數(shù)、類的方法、析構(gòu)函數(shù)、可變對象與不可變對象、運算符的重載等。
第8章由楊年華負(fù)責(zé)編寫,主要介紹類的繼承與組合兩種重用方式。
第9章由楊年華負(fù)責(zé)編寫,主要介紹Python中的異常、異常類、異常的捕獲與處理、自定義異常類、with語句、斷言等。
第10章由孫辭海負(fù)責(zé)編寫,主要介紹使用wxPython進(jìn)行用戶圖形界面設(shè)計的方法。
第11章由孫辭海負(fù)責(zé)編寫,主要討論Python程序的打包和發(fā)布方法。
第12章由肖宇負(fù)責(zé)編寫,主要介紹利用Python進(jìn)行數(shù)據(jù)庫應(yīng)用開發(fā)。
第13章由肖宇負(fù)責(zé)編寫,主要介紹利用Python進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)獲取的方法。
第14章由張曉黎負(fù)責(zé)編寫,主要介紹利用Python進(jìn)行數(shù)據(jù)分析和繪圖基礎(chǔ)知識。
第15章由孫辭海負(fù)責(zé)編寫,主要介紹基于Python的網(wǎng)站開發(fā)方法。
第16章由曹玉茹負(fù)責(zé)編寫,主要介紹Python作為腳本語言在SPSS中的使用方法。
本書適合非計算機專業(yè)本科生使用,也可作為計算機程序設(shè)計的入門教材或Python愛好者的參考書。
本書提供全套教學(xué)課件和源代碼,配套資源可登錄清華大學(xué)出版社官方網(wǎng)站下載。
由于時間倉促,作者水平有限,書中難免出現(xiàn)紕漏,不足之處敬請批評指正,并反饋給我們。
本書編寫組2017年4月
目錄
第1章Python概述
1.1Python語言的發(fā)展史
1.2Python語言的特點
1.3Python的下載與安裝
1.3.1Python的下載
1.3.2Python的安裝
1.4開始使用Python
1.4.1交互方式
1.4.2代碼文件方式
1.4.3代碼風(fēng)格
1.5Python的集成開發(fā)環(huán)境
1.5.1Eclipse中的PyDev插件
1.5.2Eric
1.6模塊
1.6.1標(biāo)準(zhǔn)模塊
1.6.2第三方模塊
1.7使用幫助
1.8本章小結(jié)
習(xí)題1
第2章Python語言基礎(chǔ)知識
2.1輸入與輸出
2.1.1數(shù)據(jù)的輸入
2.1.2數(shù)據(jù)的輸出
2.2標(biāo)識符與變量
2.2.1標(biāo)識符
2.2.2變量
2.2.3賦值語句
2.3數(shù)據(jù)類型及運算
2.3.1數(shù)據(jù)類型
2.3.2運算符和表達(dá)式
2.3.3運算表達(dá)式
2.4常見的Python函數(shù)
2.5本章小結(jié)
習(xí)題2
第3章控制語句
3.1分支結(jié)構(gòu)控制語句
3.1.1if語句
3.1.2if/else語句
3.1.3if/elif/else語句
3.1.4選擇結(jié)構(gòu)嵌套
3.2循環(huán)結(jié)構(gòu)控制語句
3.2.1while語句
3.2.2for語句
3.2.3循環(huán)嵌套
3.2.4break語句和continue語句
3.3應(yīng)用實例
3.3.1學(xué)生成績統(tǒng)計
3.3.2天氣狀況分析
3.4本章小結(jié)
習(xí)題3
第4章常用數(shù)據(jù)結(jié)構(gòu)
4.1序列
4.1.1列表list
4.1.2元組tuple
4.1.3字符串
4.1.4列表與元組之間的轉(zhuǎn)換
4.2字典
4.2.1創(chuàng)建字典
4.2.2字典操作
4.2.3字典方法
4.2.4列表、元組與字典之間的轉(zhuǎn)換
4.3集合
4.3.1集合的創(chuàng)建
4.3.2集合的運算
4.3.3集合的方法
4.4本章小結(jié)
習(xí)題4
第5章函數(shù)的設(shè)計
5.1函數(shù)的定義
5.2函數(shù)的調(diào)用
5.3形參與實參
5.4函數(shù)的返回
5.5位置參數(shù)
5.6默認(rèn)參數(shù)與關(guān)鍵參數(shù)
5.7可變長度參數(shù)
5.8序列作為參數(shù)
5.9基于函數(shù)的抽象與求精
5.9.1自頂向下設(shè)計
5.9.2自頂向下的實現(xiàn)
5.9.3自底向上的實現(xiàn)與單元測試
5.10遞歸
5.11本章小結(jié)
習(xí)題5
第6章文件操作
6.1打開與關(guān)閉文件
6.2讀寫文件
6.2.1從文件讀取數(shù)據(jù)
6.2.2向文件寫入數(shù)據(jù)
6.3文件指針
6.4文件對話框
6.4.1基于win32ui構(gòu)建文件對話框
6.4.2基于tkFileDialog構(gòu)建文件對話框
6.5應(yīng)用實例: 文本文件操作
6.6本章小結(jié)
習(xí)題6
第7章類與對象
7.1認(rèn)識Python中的對象和方法
7.2類的定義
7.3類的屬性
7.3.1類屬性和實例屬性
7.3.2公有屬性和私有屬性
7.4構(gòu)造函數(shù)
7.5類的方法
7.5.1類的方法調(diào)用的過程
7.5.2類的方法分類
7.6析構(gòu)函數(shù)
7.7可變對象與不可變對象
7.8get和set方法
7.9運算符的重載
7.10面向?qū)ο蠛兔嫦蜻^程
7.10.1類的抽象與封裝
7.10.2面向過程編程
7.10.3面向?qū)ο缶幊?/p>
7.11本章小結(jié)
習(xí)題7
第8章類的重用
8.1類的重用方法
8.2類的繼承
8.2.1父類與子類
8.2.2繼承的語法
8.2.3子類繼承父類的屬性
8.2.4子類繼承父類的方法
8.2.5繼承關(guān)系下的構(gòu)造方法
8.2.6多重繼承
8.3類的組合
8.3.1組合的語法
8.3.2繼承與組合的結(jié)合
8.4本章小結(jié)
習(xí)題8
第9章異常處理
9.1異常
9.2Python中的異常類
9.3捕獲與處理異常
9.4自定義異常類
9.5with語句
9.6斷言
9.7本章小結(jié)
習(xí)題9
第10章圖形用戶界面程序設(shè)計
10.1圖形用戶界面平臺的選擇
10.2wxPython的安裝
10.3Hello World的窗口程序
10.4布局與事件
10.4.1BoxSizer
10.4.2GridSizer
10.4.3事件處理
10.5使用wxFormBuilder設(shè)計界面
10.6應(yīng)用實例:條形碼圖片識別
10.6.1應(yīng)用需求
10.6.2條形碼識別程序
10.6.3界面設(shè)計
10.6.4完整代碼
10.7本章小結(jié)
習(xí)題10
第11章程序打包發(fā)布
11.1setuptools程序打包發(fā)布工具
11.1.1程序為什么要打包
11.1.2推薦使用setuptools打包發(fā)布
11.1.3setuptools使用步驟
11.2py2exe打包
11.2.1py2exe的安裝
11.2.2py2exe的簡易打包
11.2.3py2exe的高級打包技巧
11.3應(yīng)用實例
11.4本章小結(jié)
習(xí)題11
第12章數(shù)據(jù)庫應(yīng)用開發(fā)
12.1Python Database API簡介
12.1.1全局變量
12.1.2連接與游標(biāo)
12.2結(jié)構(gòu)化查詢語言
12.2.1數(shù)據(jù)定義語言
12.2.2數(shù)據(jù)操作語言
12.2.3數(shù)據(jù)查詢語言
12.3SQLite
12.3.1SQLite數(shù)據(jù)類型
12.3.2sqlite3模塊
12.4應(yīng)用實例: 學(xué)生管理數(shù)據(jù)庫系統(tǒng)
12.4.1數(shù)據(jù)表結(jié)構(gòu)
12.4.2學(xué)生管理數(shù)據(jù)庫系統(tǒng)實現(xiàn)
12.5本章小結(jié)
習(xí)題12
第13章網(wǎng)絡(luò)數(shù)據(jù)獲取
13.1網(wǎng)頁數(shù)據(jù)的組織形式
13.1.1HTML
13.1.2XML
13.2利用urllib處理HTTP協(xié)議
13.3利用BeautifulSoup4解析HTML文檔
13.3.1BeautifulSoup4中的對象
13.3.2遍歷文檔樹
13.4應(yīng)用實例
13.5本章小結(jié)
習(xí)題13
第14章數(shù)據(jù)分析與繪圖基礎(chǔ)
14.1numpy基礎(chǔ)與常用函數(shù)
14.1.1numpy的ndarray數(shù)組類
14.1.2數(shù)組的元素級運算與函數(shù)
14.1.3數(shù)組的基本統(tǒng)計分析函數(shù)
14.2pyplot基礎(chǔ)與常用參數(shù)設(shè)置
14.2.1折線圖
14.2.2散點圖
14.2.3直方圖
14.3常用分析函數(shù)與繪圖示例
14.3.1簡單移動平均
14.3.2指數(shù)移動平均
14.4本章小結(jié)
習(xí)題14
第15章網(wǎng)站設(shè)計
15.1網(wǎng)站應(yīng)用的發(fā)展歷史與展望
15.2HTTP超文本傳輸協(xié)議
15.2.1什么是HTTP
15.2.2HTTP的具體內(nèi)容
15.3HTML超文本標(biāo)記語言
15.3.1什么是HTML
15.3.2HTML、CSS、JavaScript的簡介
15.4使用WSGI接口創(chuàng)建動態(tài)網(wǎng)頁
15.5使用Python網(wǎng)絡(luò)框架來建立網(wǎng)站
15.6應(yīng)用實例:報名網(wǎng)站
15.7本章小結(jié)
習(xí)題15
第16章在SPSS中使用Python
16.1SPSS Syntax簡介
16.1.1程序編輯窗口界面
16.1.2Paste按鈕
16.2SPSS中Python插件的安裝
16.2.1安裝工具
16.2.2工具設(shè)置
16.3SPSS中運行Python
16.3.1SPSS中運行Python方式
16.3.2SPSS中運行Python案例
16.4本章小結(jié)
習(xí)題16
參考文獻(xiàn)