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