内容简介 · · · · · ·
《跟老齐学Python:从入门到精通》是面向编程零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用。以比较轻快的风格,向零基础的学习者介绍一门时下比较流行、并且用途比较广泛的编程语言,所以,《跟老齐学Python:从入门到精通》读起来不晦涩,并且在其中穿插了很多貌似与Python编程无关,但与学习者未来程序员职业生涯有关的内容。
《跟老齐学Python:从入门到精通》特别强调了学习和使用Python的基本方法,学习一种高级语言,掌握其各种规则是必要的,但学会“自省”方法更重要,这也是《跟老齐学Python:从入门到精通》所试图达到的“授人以鱼不如授人以渔”的目的。
《跟老齐学Python:从入门到精通》是面向初学者的读物,不是为开发者提供的开发手册,所以,它不是“又适用于中高级读者”的读物。
作者简介 · · · · · ·
老齐,现居苏州,所著在线教程《零基础学Python》及《零基础学Python(第2版)》在业内引起非常大的反响。愿意和来自各方的朋友讨论技术问题,并能提供相关技术服务。
目录 · · · · · ·
第1季 基础
第0章 预备 2
0.1 关于Python的故事 2
0.1.1 Python的昨天、今天和明天 3
0.1.2 Python的特点 4
0.1.3 Python哲学 5
0.2 从小工到专家 5
0.2.1 零基础 6
0.2.2 阅读代码 6
0.2.3 调试程序 7
0.3 安装Python 7
0.3.1 Ubuntu系统 8
0.3.2 Windows系统 9
0.3.3 Mac OS X系统 9
0.4 集成开发环境(IDE) 9
0.4.1 值得纪念的时刻:Hello world 9
0.4.2 集成开发环境概述 10
0.4.3 Python的IDE 12
第1章 基本的对象类型 13
1.1 数字 13
1.1.1 数字 14
1.1.2 变量 15
1.1.3 简单的四则运算 16
1.1.4 整数溢出问题 17
1.2 除法 17
1.2.1 整数与整数相除 17
1.2.2 浮点数与整数相除 18
1.2.3 引用模块解决除法问题 19
1.2.4 余数 20
1.2.5 四舍五入 20
1.3 常用数学函数和运算优先级 21
1.3.1 使用math模块 21
1.3.2 两个函数 23
1.3.3 运算优先级 23
1.4 第一个简单的程序 24
1.4.1 程序 24
1.4.2 用IDE编程 25
1.4.3 Hello,World 25
1.4.4 解一道题目 26
1.5 字符串 28
1.5.1 字符串 29
1.5.2 变量和字符串 30
1.5.3 连接字符串 31
1.5.4 转义字符 33
1.5.5 原始字符串 34
1.5.6 raw_input和print 34
1.5.7 索引和切片 37
1.5.8 基本操作 39
1.5.9 常用的字符串方法 42
1.5.10 字符串格式化输出 45
1.6 字符编码 47
1.6.1 编码 47
1.6.2 计算机中的字符编码 49
1.6.3 encode和decode 50
1.6.4 避免中文是乱码 51
1.7 列表 52
1.7.1 定义 52
1.7.2 索引和切片 53
1.7.3 反转 54
1.7.4 对list的操作 55
1.7.5 列表的函数 56
1.8 比较列表和字符串 66
1.8.1 相同点 66
1.8.2 区别 67
1.8.3 多维列表 68
1.8.4 列表和字符串的互相转化 69
1.8.5 "[sep]".join(list) 69
1.9 元组 70
1.9.1 定义 70
1.9.2 索引和切片 71
1.9.3 用途 72
1.10 字典 72
1.10.1 创建字典 73
1.10.2 访问字典的值 74
1.10.3 基本操作 75
1.10.4 字符串格式化输出 76
1.10.5 相关概念 77
1.10.6 字典的函数 77
1.11 集合 86
1.11.1 创建集合 86
1.11.2 集合的函数 88
1.11.3 补充知识 91
1.11.4 不变的集合 91
1.11.5 集合运算 92
第2章 语句和文件 95
2.1 运算符 95
2.1.1 算术运算符 95
2.1.2 比较运算符 96
2.1.3 逻辑运算符 97
2.2 简单语句 99
2.2.1 print 100
2.2.2 import 101
2.2.3 赋值 102
2.3 条件语句 104
2.3.1 if语句 104
2.3.2 if … elif … else 105
2.3.3 三元操作符 107
2.4 for循环 107
2.4.1 简单的for循环 107
2.4.2 range(start,stop[, step]) 109
2.4.3 for的对象 112
2.4.4 zip() 114
2.4.5 enumerate() 117
2.4.6 列表解析 119
2.5 while循环 120
2.5.1 猜数字游戏 120
2.5.2 break和continue 123
2.5.3 while...else 123
2.5.4 for...else 124
2.6 文件 124
2.6.1 打开文件 125
2.6.2 创建文件 127
2.6.3 使用with 128
2.6.4 文件的状态 129
2.6.5 read/readline/readlines 129
2.6.6 读很大的文件 132
2.6.7 seek( ) 133
2.7 迭代 134
2.7.1 迭代工具 135
2.7.2 文件迭代器 137
第3章 函数 139
3.1 理解函数 139
3.1.1 变量不仅仅是数 140
3.1.2 建立简单函数 140
3.1.3 建立实用的函数 141
3.1.4 关于命名 143
3.1.5 调用函数 144
3.1.6 注意事项 145
3.1.7 返回值 146
3.1.8 函数中的文档 148
3.2 名词辨析 149
3.2.1 参数和变量 149
3.2.2 全局变量和局部变量 150
3.2.3 命名空间 151
3.3 参数收集 152
3.3.1 参数收集 153
3.3.2 更优雅的方式 155
3.3.3 综合贯通 156
3.4 特殊函数 158
3.4.1 递归 158
3.4.2 几个特殊函数 160
3.5 练习 166
3.5.1 解一元二次方程 166
3.5.2 统计考试成绩 168
3.5.3 找质数 170
3.5.4 编写函数的注意事项 171
第2季 进阶
第4章 类 174
4.1 基本概念 174
4.1.1 问题空间 175
4.1.2 对象 175
4.1.3 面向对象 176
4.1.4 类 177
4.1.5 编写类 178
4.2 详解类 179
4.2.1 新式类和旧式类 179
4.2.2 创建类 181
4.2.3 类中的函数(方法) 183
4.2.4 类和实例 185
4.2.5 self的作用 185
4.2.6 文档字符串 186
4.3 辨析有关概念 187
4.3.1 类属性和实例属性 187
4.3.2 数据流转 189
4.3.3 命名空间 191
4.3.4 作用域 193
4.4 继承 194
4.4.1 基本概念 195
4.4.2 多重继承 196
4.4.3 多重继承的顺序 197
4.4.4 super函数 198
4.5 方法 200
4.5.1 绑定方法 200
4.5.2 非绑定方法 201
4.5.3 静态方法和类方法 201
4.6 多态和封装 203
4.6.1 多态 203
4.6.2 封装和私有化 206
4.7 特殊属性和方法 208
4.7.1 __dict__ 208
4.7.2 __slots__ 212
4.7.3 __getattr__、__setattr__和其他类似方法 213
4.7.4 获得属性顺序 217
4.8 迭代器 218
4.8.1 __iter__() 218
4.8.2 range()和xrange() 220
4.9 生成器 221
4.9.1 简单的生成器 221
4.9.2 定义和执行过程 223
4.9.3 yield 224
4.9.4 生成器方法 225
第5章 错误和异常 227
5.1 错误 227
5.2 异常 227
5.3 处理异常 230
5.3.1 try...except... 230
5.3.2 处理多个异常 232
5.3.3 else子句 234
5.3.4 finally子句 235
5.3.5 assert语句 236
第6章 模块 239
6.1 编写模块 239
6.1.1 模块是程序 239
6.1.2 模块的位置 241
6.1.3 __all__在模块中的作用 243
6.1.4 包和库 245
6.2 自带电池 245
6.2.1 引用方式 246
6.2.2 深入探究 247
6.2.3 帮助、文档和源码 248
6.3 标准库 250
6.3.1 sys 250
6.3.2 copy 253
6.3.3 os 254
6.3.4 heapq 261
6.3.5 deque 266
6.3.6 calendar 267
6.3.7 time 269
6.3.8 datetime 273
6.3.9 urllib 275
6.3.10 urllib2 279
6.3.11 XML 280
6.3.12 JSON 287
6.4 第三方库 289
6.4.1 安装第三方库 289
6.4.2 以requests为例 290
第7章 保存数据 295
7.1 pickle 295
7.2 shelve 297
7.3 MySQL数据库 299
7.3.1 MySQL概况 299
7.3.2 安装 300
7.3.3 运行 300
7.3.4 安装python-MySQLdb 301
7.3.5 连接数据库 302
7.3.6 数据库表 303
7.3.7 操作数据库 304
7.3.8 更新数据 309
7.4 MongoDB数据库 310
7.4.1 安装MongoDB 311
7.4.2 启动 311
7.4.3 安装pymongo 312
7.4.4 连接MongoDB 312
7.4.5 编辑 314
7.5 SQLite数据库 317
7.5.1 建立连接对象 318
7.5.2 游标对象 318
7.6 电子表格 320
7.6.1 openpyl 321
7.6.2 其他第三方库 326
第3季 实战
第8章 用Tornado做网站 328
8.1 为做网站而准备 328
8.1.1 开发框架 328
8.1.2 Python框架 329
8.1.3 Tornado 329
8.1.4 安装Tornado 330
8.2 分析Hello 331
8.2.1 Web服务器工作流程 332
8.2.2 解剖标本 332
8.3 做个简单的网站 336
8.3.1 基本结构 336
8.3.2 一个基本架势 337
8.3.3 连接数据库 340
8.3.4 登录界面 340
8.3.5 数据传输 345
8.3.6 数据处理 347
8.3.7 模板 350
8.3.8 转义字符 355
8.3.9 模板继承 357
8.3.10 CSS 358
8.3.11 cookie和安全 359
8.3.12 XSRF 362
8.3.13 用户验证 364
8.3.14 相关概念 367
8.3.15 Tornado的同步 368
8.3.16 异步设置 369
第9章 科学计算 373
9.1 为计算做准备 373
9.1.1 闲谈 373
9.1.2 安装 374
9.1.3 基本操作 374
9.2 Pandas 376
9.2.1 基本的数据结构 376
9.2.2 读取CSV文件 382
9.2.3 处理股票数据 387