本書主要介紹如何使用Python處理數(shù)學問題。內容涉及代數(shù)、統(tǒng)計、概率和微積分等方面。本書第1-4章主要講解Python編程的基本知識,第5-12章主要是介紹Python用于處理數(shù)學問題的第三方擴展庫的使用,包括NumPy、Scipy、Matplotlib和SymPy.第5章Python繪圖是后續(xù)很多章節(jié)的基礎,請讀者務必要首先熟悉這一章的內容。第6章面向對象編程主要講解什么是面向對象的程序設計,Python是一種面向對象的程序設計語言,掌握面向對象的概念對于理解Python程序、編寫出效率更高的Python代碼會很有幫助。NumPy是Python科學計算的基礎,第7章詳細講解NumPy的使用方法。第8章的內容相對比較獨立,主要介紹Python在符號計算方面的應用。第9和第10章是關于概率統(tǒng)計的內容,會用到第5-7章的知識。第11章是關于分形的介紹,讀者可以了解到如何使用Python繪制分形。第12章是講解Python中的異常處理。
張騫,北京航空航天大學碩士,資深軟件工程師。17年軟件開發(fā)經驗。先后在數(shù)家大型通信企業(yè)擔任高級軟件開發(fā)工程師,精通C/C++、Python語言編程。現(xiàn)從事數(shù)據(jù)挖掘與分析方面的研究工作,同時致力于編程技術的普及和推廣。
第1章 Spyder IDE
1.1 安裝Spyder
1.2 使用Spyder
1.3 升級Spyder
1.4 使用Spyder在線版
1.5 本章小結
第2章 用Python處理計算公式
2.1 將Python作為計算器
2.1.1 算術運算
2.1.2 關系運算
2.1.3 賦值運算
2.1.4 邏輯運算
2.1.5 位運算
2.2 編寫Python腳本
2.2.1 定義變量
2.2.2 變量名
2.2.3 變量類型
2.2.4 表達式
2.2.5 語句
2.2.6 注釋
2.2.7 格式化輸出
2.3 編程陷阱
2.4 本章小結
2.5 練習
第3章 函數(shù)與分支
3.1 使用函數(shù)
3.2 Python Math模塊
3.2.1 常數(shù)
3.2.2 算術函數(shù)
3.2.3 Math庫中其他的重要數(shù)學函數(shù)
3.3 定義函數(shù)
3.4 括號匹配
3.5 入參和局部變量
3.5.1 參數(shù)默認值
3.5.2 關鍵字參數(shù)
3.5.3 局部變量和全局變量
3.6 函數(shù)返回值
3.7 Lambda表達式
3.8 條件分支
3.9 程序驗證
3.9.1 編寫測試函數(shù)
3.9.2 使用pytest
3.10 本章小結
3.11 練習
第4章 循環(huán)
4.1 while循環(huán)
4.2 使用列表存儲數(shù)據(jù)
4.2.1 創(chuàng)建列表
4.2.2 列表索引
4.2.3 列表的基本操作
4.2.4 列表對象支持的方法
4.3 for循環(huán)
4.4 中止當前循環(huán)
4.5 列表推導式(list comprehension)
4.5.1 range類型
4.5.2 使用for循環(huán)填充列表
4.5.3 數(shù)列求和
4.5.4 更改列表中的元素
4.5.5 創(chuàng)建列表的簡便方式
4.5.6 zip()函數(shù)
4.6 嵌套列表
4.7 Spyder調試代碼
4.8 Tuples
4.9 求方程近似解
4.9.1 二分法
4.9.2 牛頓迭代法
4.10 本章小結
第5章 Python繪圖
5.1 安裝Matplotlib
5.2 繪制簡單圖形
5.3 北京、上海和廣州三地的平均溫度
5.4 繪制函數(shù)圖形
5.5 Matplotlib對象層次結構
5.5.1 Line2D對象
5.5.2 添加文本
5.5.3 多個子圖(Axes)
5.6 字典(Dictionary)類型
5.7 本章小結
5.8 練習
第6章 類和面向對象編程
6.1 代表數(shù)學公式的類
6.2 類的通用格式
6.3 受保護的類屬性
6.4 對象屬性和類屬性
6.5 特殊方法
6.5.1 __call__()
6.5.2 ___del__()
6.5.3 __str__()
6.5.4 __repr__()
6.5.5 __abs__()
6.5.6 數(shù)學運算的特殊方法
6.6 Python的類和靜態(tài)方法
6.7 如何知道類的內容
6.8 類的測試函數(shù)
6.9 類層次結構和繼承
6.10 使用OOP方法的實例
6.10.1 螺線
6.10.2 比例數(shù)
6.11 本章小結
6.12 練習
第7章 NumPy與矩陣
7.1 NumPy安裝
7.1.1 使用pip安裝
7.1.2 Linux下安裝
7.1.3 安裝驗證
7.2 NumPy數(shù)組對象
7.2.1 創(chuàng)建數(shù)組對象
7.2.2 修改數(shù)組形狀
7.2.3 單位矩陣
7.3 NumPy數(shù)據(jù)類型
7.3.1 基本數(shù)據(jù)類型
7.3.2 長度確定的數(shù)據(jù)類型
7.3.3 字節(jié)序
7.3.4 結構化數(shù)據(jù)
7.4 操作數(shù)組
7.4.1 數(shù)組切片和索引
7.4.2 迭代數(shù)組
7.4.3 基本運算
7.4.4 位操作
7.4.5 布爾運算
7.4.6 NumPy廣播(Broadcast)
7.4.7 數(shù)組排序
7.4.8 統(tǒng)計運算
7.5 用NumPy處理代數(shù)問題
7.5.1 向量化計算
7.5.2 向量和矩陣
7.5.3 用NumPy求解線性方程組
7.5.4 插值和擬合
7.6 本章小結
7.7 練習
第8章 SymPy與符號計算
8.1 安裝和升級SymPy
8.2 配置SymPy
8.3 定義符號
8.3.1 變量符號
8.3.2 數(shù)值符號
8.3.3 函數(shù)對象
8.4 符號運算
8.4.1 數(shù)的運算
8.4.2 表達式展開
8.4.3 表達式化簡
8.4.4 表達式求值
8.4.5 表達式連加
8.4.6 表達式連乘
8.4.7 因式分解
8.4.8 邏輯運算
8.5 微積分
8.5.1 極限
8.5.2 級數(shù)展開
8.5.3 微分
8.5.4 積分
8.5.5 路徑積分
8.5.6 積分變換
8.6 線性代數(shù)
8.6.1 矩陣
8.6.2 方程
8.7 繪圖
8.8 本章小結
8.9 練習
第9章 統(tǒng)計分析
9.1 安裝Pandas和SciPy
9.2 基本概念
9.2.1 平均值
9.2.2 加權平均值
9.2.3 調和平均值
9.2.4 幾何平均值
9.2.5 中位值
9.2.6 眾數(shù)
9.2.7 方差
9.2.8 標準差
9.2.9 偏度
9.2.10 百分位數(shù)
9.2.11 范圍
9.3 描述性統(tǒng)計
9.4 數(shù)據(jù)相關性
9.4.1 協(xié)方差
9.4.2 相關系數(shù)
9.5 從文件讀取數(shù)據(jù)
9.5.1 處理CSV文件
9.5.2 對象化處理數(shù)據(jù)
9.6 繪制統(tǒng)計圖
9.6.1 上海車牌競拍
9.6.2 上海的歷史降雨量
9.7 本章小結
9.8 練習
第10章 概率統(tǒng)計