《跟老齐学Python从入门到精通》齐伟【文字版_PDF电子书_下载】
内容简介:
本书是面向编程零基础读者的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