Python编程入门(第3版).pdf [入門教學 資料]

Python编程入门(第3版).pdf [入門教學 資料]

Python编程入门(第3版).pdf [入門教學 資料]


PDF: https://github.com/jash-git/Jash-good-idea-20200304-001

源碼: https://github.com/jash-git/Jash-good-idea-20200304-001


目  录
第1 章 编程简介……………………………………………1
1.1 Python 语言……………………………………………2
1.2 Python 适合用于做什么………………………….3
1.3 程序员如何工作…………………………………….4
1.4 安装Python……………………………………………6
1.4.1 在Windows 系统上安装Python…….. 6
1.4.2 在Mac 系统上安装Python………….7
1.4.3 在Linux 系统上安装Python………..7
第2 章 算术、字符串与变量……………………….9
2.1 交互式命令shell…………………………………..10
2.1.1 shell 提示符………………………………10
2.1.2 记录………………………………………….10
2.2 整数算术……………………………………………..11
2.2.1 整除………………………………………….11
2.2.2 求值顺序…………………………………..12
2.2.3 长度不受限制……………………………12
2.3 浮点数算术………………………………………….13
2.3.1 浮点数字面量……………………………13
2.3.2 溢出………………………………………….14
2.3.3 精度有限…………………………………..14
2.3.4 复数………………………………………….15
2.4 其他数学函数………………………………………16
2.4.1 使用返回值……………………………….16
2.4.2 导入模块…………………………………..16
2.5 字符串…………………………………………………17
2.5.1 标识字符串……………………………….17
2.5.2 字符串的长度……………………………18
2.6 字符串拼接………………………………………….19
2.7 获取帮助……………………………………………..20
2.7.1 列出模块中的函数…………………….20
2.7.2 打印文档字符串………………………..21
2.8 类型转换……………………………………………..22
2.8.1 将整数和字符串转换为浮点数…..22
2.8.2 将整数和浮点数转换为字符串…..22
2.8.3 将浮点数转换为整数…………………23
2.8.4 将字符串转换为数字…………………23
2.9 变量和值……………………………………………..24
2.10 赋值语句……………………………………………26
2.11 变量如何引用值…………………………………28
2.11.1 赋值时不复制………………………..28
2.11.2 数字和字符串是不可变的………28
2.12 多重赋值……………………………………………29
第3 章 编写程序………………………………………….31
3.1 使用IDLE 的编辑器…………………………….32
3.1.1 在IDLE 中编写程序………………….32
3.1.2 从命令行运行程序…………………….33
3.1.3 从命令行调用Python…………………33
3.2 编译源代码………………………………………….35
3.3 从键盘读取字符串……………………………….36
3.3.1 跟踪程序…………………………………..36
3.3.2 从键盘读取数字………………………..38
3.4 在屏幕上打印字符串……………………………39
3.5 源代码注释………………………………………….41
3.6 程序的组织………………………………………….42
第4 章 流程控制………………………………………….43
4.1 布尔逻辑……………………………………………..44
4.1.1 逻辑相等…………………………………..45
2  目  录
4.1.2 逻辑与………………………………………45
4.1.3 逻辑或………………………………………45
4.1.4 逻辑非………………………………………45
4.1.5 计算较长的布尔表达式……………..46
4.1.6 计算包含圆括号的布尔表达式…..46
4.1.7 计算不包含圆括号的布尔表达式….. 47
4.1.8 短路求值…………………………………..48
4.2 if 语句………………………………………………..49
4.3 代码块和缩进………………………………………51
4.3.1 if/elif 语句……………………………..52
4.3.2 条件表达式……………………………….53
4.4 循环…………………………………………………….54
4.4.1 for 循环……………………………………54
4.4.2 while 循环………………………………..56
4.5 比较for 循环和while 循环………………….. 59
4.5.1 计算阶乘…………………………………..59
4.5.2 计算用户输入的数字的总和………61
4.5.3 计算未知个数字的总和……………..62
4.6 跳出循环和语句块……………………………….64
4.7 循环中的循环………………………………………66
第5 章 函数………………………………………………….67
5.1 调用函数……………………………………………..68
5.1.1 不返回值的函数………………………..69
5.1.2 给函数名赋值……………………………69
5.2 定义函数……………………………………………..70
5.3 变量的作用域………………………………………73
5.4 使用main 函数……………………………………..75
5.5 函数的参数………………………………………….76
5.5.1 按引用传递……………………………….76
5.5.2 一个重要示例……………………………77
5.5.3 默认值………………………………………78
5.5.4 关键字参数……………………………….79
5.6 模块…………………………………………………….80
5.6.1 创建Python 模块……………………….80
5.6.2 名称空间…………………………………..82
第6 章 字符串……………………………………………..83
6.1 字符串索引………………………………………….84
6.1.1 负数索引…………………………………..85
6.1.2 使用for 循环访问字符……………..86
6.2 字符…………………………………………………….87
6.3 字符串切片………………………………………….89
6.3.1 获取切片的捷径………………………..90
6.3.2 使用负数索引的切片…………………91
6.4 标准字符串函数…………………………………..92
6.4.1 测试函数…………………………………..92
6.4.2 搜索函数…………………………………..93
6.4.3 改变大小写的函数…………………….94
6.4.4 设置格式的函数………………………..94
6.4.5 剥除函数…………………………………..95
6.4.6 拆分函数…………………………………..95
6.4.7 替换函数…………………………………..96
6.4.8 其他函数…………………………………..97
6.5 正则表达式………………………………………….98
6.5.1 简单的正则表达式…………………….98
6.5.2 使用正则表达式匹配字符串………99
6.5.3 其他正则表达式 ……………………..100
第7 章 数据结构………………………………………..101
7.1 type 命令……………………………………………102
7.2 序列…………………………………………………..103
7.3 元组…………………………………………………..104
7.3.1 元组是不可变的………………………105
7.3.2 元组函数…………………………………106
7.4 列表…………………………………………………..108
7.5 列表函数……………………………………………110
7.6 列表排序……………………………………………113
7.7 列表解析……………………………………………115
7.7.1 列表解析示例………………………….116
7.7.2 使用列表解析进行筛选……………117
7.8 字典…………………………………………………..118
7.8.1 对键的限制……………………………..119
7.8.2 字典函数…………………………………120
7.9 集合…………………………………………………..122
第8 章 输入和输出……………………………………123
8.1 设置字符串格式…………………………………124
8.1.1 字符串插入……………………………..124
8.1.2 转换说明符……………………………..125
8.2 格式字符串………………………………………..126
8.3 读写文件……………………………………………128
8.3.1 文件夹…………………………………….130
8.3.2 当前工作目录………………………….130
8.4 检查文件和文件夹……………………………..131
8.5 处理文本文件…………………………………….134
8.5.1 逐行读取文本文件…………………..134
8.5.2  将整个文本文件作为一个
字符串进行读取………………………135
8.5.3 写入文本文件………………………….136
8.5.4 附加到文本文件末尾……………….136
8.5.5 将字符串插入到文件开头………..137
8.6 处理二进制文件…………………………………138
8.7 读取网页……………………………………………141
第9 章 异常处理………………………………………..143
9.1 异常…………………………………………………..144
9.2 捕获异常……………………………………………146
9.2.1 try/except 块………………………….148
9.2.2 捕获多种异常………………………….149
9.2.3 捕获所有异常………………………….149
9.3 清理操作……………………………………………150
第10 章 面向对象编程……………………………..153
10.1 编写类……………………………………………..154
10.2 显示对象………………………………………….156
10.3 灵活的初始化…………………………………..160
10.4 设置函数和获取函数………………………..162
10.4.1 特性装饰器………………………….163
10.4.2 私有变量……………………………..166
10.5 继承…………………………………………………168
10.6 多态…………………………………………………171
10.6.1 实现get_move 函数………………172
10.6.2 玩游戏Undercut…………………..173
10.7 更深入地学习…………………………………..175
第11 章 案例研究:文本统计………………….177
11.1 问题描述………………………………………….178
11.2 保留想要的字母……………………………….180
11.3 使用大型数据文件测试代码………………………….182
11.4 找出出现次数较多的单词…………………184
11.5 将字符串转换为次数字典…………………187
11.6 组织在一起………………………………………188
11.7 练习…………………………………………………190
11.8 最终的程序………………………………………192
附录A 深受欢迎的Python 包………………….195
附录B 比较Python 2 和Python 3………….199
索引………………………………………………………………..203

目  錄
第1 章 程式設計簡介……………………………………………1
1.1 Python 語言……………………………………………2
1.2 Python 適合用於做什麼………………………….3
1.3 程式師如何工作…………………………………….4
1.4 安裝Python……………………………………………6
1.4.1 在Windows 系統上安裝Python…….. 6
1.4.2 在Mac 系統上安裝Python………….7
1.4.3 在Linux 系統上安裝Python………..7
第2 章 算術、字串與變數……………………….9
2.1 互動式命令shell…………………………………..10
2.1.1 shell 提示符………………………………10
2.1.2 記錄………………………………………….10
2.2 整數算術……………………………………………..11
2.2.1 整除………………………………………….11
2.2.2 求值順序…………………………………..12
2.2.3 長度不受限制……………………………12
2.3 浮點數算術………………………………………….13
2.3.1 浮點數字面量……………………………13
2.3.2 溢出………………………………………….14
2.3.3 精度有限…………………………………..14
2.3.4 複數………………………………………….15
2.4 其他數學函數………………………………………16
2.4.1 使用返回值……………………………….16
2.4.2 導入模組…………………………………..16
2.5 字串…………………………………………………17
2.5.1 標識字串……………………………….17
2.5.2 字串的長度……………………………18
2.6 字串拼接………………………………………….19
2.7 獲取幫助……………………………………………..20
2.7.1 列出模組中的函數…………………….20
2.7.2 列印文檔字串………………………..21
2.8 類型轉換……………………………………………..22
2.8.1 將整數和字串轉換為浮點數…..22
2.8.2 將整數和浮點數轉換為字串…..22
2.8.3 將浮點數轉換為整數…………………23
2.8.4 將字串轉換為數位…………………23
2.9 變數和值……………………………………………..24
2.10 設定陳述式……………………………………………26
2.11 變數如何引用值…………………………………28
2.11.1 賦值時不複製………………………..28
2.11.2 數位和字串是不可變的………28
2.12 多重賦值……………………………………………29
第3 章 編寫程式………………………………………….31
3.1 使用IDLE 的編輯器…………………………….32
3.1.1 在IDLE 中編寫程式………………….32
3.1.2 從命令列運行程式…………………….33
3.1.3 從命令列調用Python…………………33
3.2 編譯原始程式碼………………………………………….35
3.3 從鍵盤讀取字串……………………………….36
3.3.1 跟蹤程式…………………………………..36
3.3.2 從鍵盤讀取數位………………………..38
3.4 在螢幕上列印字串……………………………39
3.5 原始程式碼注釋………………………………………….41
3.6 程式的組織………………………………………….42
第4 章 流程控制………………………………………….43
4.1 布林邏輯……………………………………………..44
4.1.1 邏輯相等…………………………………..45
2  目  錄
4.1.2 邏輯與………………………………………45
4.1.3 邏輯或………………………………………45
4.1.4 邏輯非………………………………………45
4.1.5 計算較長的布林運算式……………..46
4.1.6 計算包含圓括號的布林運算式…..46
4.1.7 計算不包含圓括號的布林運算式….. 47
4.1.8 短路求值…………………………………..48
4.2 if 語句………………………………………………..49
4.3 代碼塊和縮進………………………………………51
4.3.1 if/elif 語句……………………………..52
4.3.2 條件運算式……………………………….53
4.4 迴圈…………………………………………………….54
4.4.1 for 迴圈……………………………………54
4.4.2 while 迴圈………………………………..56
4.5 比較for 迴圈和while 迴圈………………….. 59
4.5.1 計算階乘…………………………………..59
4.5.2 計算使用者輸入的數字的總和………61
4.5.3 計算未知個數字的總和……………..62
4.6 跳出迴圈和語句塊……………………………….64
4.7 迴圈中的迴圈………………………………………66
第5 章 函數………………………………………………….67
5.1 調用函數……………………………………………..68
5.1.1 不返回值的函數………………………..69
5.1.2 給函數名賦值……………………………69
5.2 定義函數……………………………………………..70
5.3 變數的作用域………………………………………73
5.4 使用main 函數……………………………………..75
5.5 函數的參數………………………………………….76
5.5.1 按引用傳遞……………………………….76
5.5.2 一個重要示例……………………………77
5.5.3 預設值………………………………………78
5.5.4 關鍵字參數……………………………….79
5.6 模組…………………………………………………….80
5.6.1 創建Python 模組……………………….80
5.6.2 名稱空間…………………………………..82
第6 章 字串……………………………………………..83
6.1 字串索引………………………………………….84
6.1.1 負數索引…………………………………..85
6.1.2 使用for 迴圈訪問字元……………..86
6.2 字元…………………………………………………….87
6.3 字串切片………………………………………….89
6.3.1 獲取切片的捷徑………………………..90
6.3.2 使用負數索引的切片…………………91
6.4 標準字串函數…………………………………..92
6.4.1 測試函數…………………………………..92
6.4.2 搜索函數…………………………………..93
6.4.3 改變大小寫的函數…………………….94
6.4.4 設置格式的函數………………………..94
6.4.5 剝除函數…………………………………..95
6.4.6 拆分函數…………………………………..95
6.4.7 替換函數…………………………………..96
6.4.8 其他函數…………………………………..97
6.5 規則運算式………………………………………….98
6.5.1 簡單的規則運算式…………………….98
6.5.2 使用規則運算式匹配字串………99
6.5.3 其他規則運算式 ……………………..100
第7 章 資料結構………………………………………..101
7.1 type 命令……………………………………………102
7.2 序列…………………………………………………..103
7.3 元組…………………………………………………..104
7.3.1 元組是不可變的………………………105
7.3.2 元組函數…………………………………106
7.4 列表…………………………………………………..108
7.5 清單函數……………………………………………110
7.6 列表排序……………………………………………113
7.7 列表解析……………………………………………115
7.7.1 列表解析示例………………………….116
7.7.2 使用列表解析進行篩選……………117
7.8 字典…………………………………………………..118
7.8.1 對鍵的限制……………………………..119
7.8.2 字典函數…………………………………120
7.9 集合…………………………………………………..122
第8 章 輸入和輸出……………………………………123
8.1 設置字串格式…………………………………124
8.1.1 字串插入……………………………..124
8.1.2 轉換說明符……………………………..125
8.2 格式字串………………………………………..126
8.3 讀寫文件……………………………………………128
8.3.1 資料夾…………………………………….130
8.3.2 當前工作目錄………………………….130
8.4 檢查檔和資料夾……………………………..131
8.5 處理文字檔…………………………………….134
8.5.1 逐行讀取文字檔…………………..134
8.5.2  將整個文字檔作為一個
字串進行讀取………………………135
8.5.3 寫入文字檔………………………….136
8.5.4 附加到文字檔末尾……………….136
8.5.5 將字串插入到檔開頭………..137
8.6 處理二進位檔案…………………………………138
8.7 讀取網頁……………………………………………141
第9 章 異常處理………………………………………..143
9.1 異常…………………………………………………..144
9.2 捕獲異常……………………………………………146
9.2.1 try/except 塊………………………….148
9.2.2 捕獲多種異常………………………….149
9.2.3 捕獲所有異常………………………….149
9.3 清理操作……………………………………………150
第10 章 物件導向程式設計……………………………..153
10.1 編寫類……………………………………………..154
10.2 顯示物件………………………………………….156
10.3 靈活的初始化…………………………………..160
10.4 設置函數和獲取函數………………………..162
10.4.1 特性裝飾器………………………….163
10.4.2 私有變數……………………………..166
10.5 繼承…………………………………………………168
10.6 多態…………………………………………………171
10.6.1 實現get_move 函數………………172
10.6.2 玩遊戲Undercut…………………..173
10.7 更深入地學習…………………………………..175
第11 章 案例研究:文本統計………………….177
11.1 問題描述………………………………………….178
11.2 保留想要的字母……………………………….180
11.3 使用大型資料檔案測試代碼………………………….182
11.4 找出出現次數較多的單詞…………………184
11.5 將字串轉換為次數字典…………………187
11.6 組織在一起………………………………………188
11.7 練習…………………………………………………190
11.8 最終的程式………………………………………192
附錄A 深受歡迎的Python 包………………….195
附錄B 比較Python 2 和Python 3………….199
索引………………………………………………………………..203

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *