简介
本书专门针对Python新手量身定做,涵盖了Python 3 实际开发的重要知识点,内容包括:Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、多线程、正则表达式、面向对象编程、文件操作、网络编程、邮件收发、数据库操作等,提供Python爬虫、数据处理项目范例,各章还安排了调试、问题解答、温故知新、牛九小试等内容,以帮助读者学会处理程序异常、解答学习困惑、巩固知识、学以致用。本书通俗易懂、示例丰富、代码可读性及可操作性强。非常适合Python 3.x初学者、想学习和了解Python 3的程序员,也可作为Python网课、培训及大专院校教学用书。
目录
目 录
第1章 进入Python 3.5的精彩世界 1
1.1Python的起源 2
1.2Python的应用场合 3
1.3 从2.7到3.5,Python的新特性 5
1.4 如何学习Python 6
1.5Python环境构建 7
1.5.1在Windows系统中安装Python 7
1.5.2在Linux和UNIX系统中安装Python 14
1.5.3在Mac OS系统中安装Python 17
1.5.4其他版本 18
1.6 从hello word开始 18
1.7 调试 19
1.8 问题解答 20
1.9 温故知新,学以致用 21
第2章 开启Python之旅 22
2.1 认识程序 23
2.1.1程序 23
2.1.2调试 24
2.1.3语法错误 24
2.1.4运行错误 24
2.1.5语义错误 25
2.2 数据类型 25
2.2.1整型 25
2.2.2浮点型 27
2.2.3复数 28
2.2.4数据类型转换 28
2.2.5常量 29
2.3 变量和关键字 29
2.3.1变量 29
2.3.2变量名称 33
2.4 语句 34
2.5 表达式 35
2.6 运算符和操作对象 36
2.6.1什么是运算符和操作对象 36
2.6.2算术运算符 36
2.6.3比较运算符 38
2.6.4赋值运算符 39
2.6.5位运算符 40
2.6.6逻辑运算符 41
2.6.7成员运算符 42
2.6.8身份运算符43
2.6.9运算符优先级 43
2.7 字符串操作 45
2.8 注释 49
2.9 调试 50
2.10问题解答 50
2.11温故知新,学以致用 51
第3章 列表和元组 52
3.1 通用序列操作 53
3.1.1索引 53
3.1.2分片 54
3.1.3序列相加 57
3.1.4乘法 58
3.1.5成员资格 59
3.1.6长度、*小值和*值 60
3.2 列表 60
3.2.1更新列表 61
3.2.2嵌套列表 65
3.2.3列表方法 65
3.3 元组 74
3.3.1tuple函数 75
3.3.2元组的基本操作 75
3.3.3元组内置函数 76
3.4 列表与元组的区别 77
3.5 调试 78
3.6 问题解答 79
3.7 温故知新,学以致用 79
第4章 字符串 81
4.1 字符串的基本操作 82
4.2 字符串格式化 83
4.2.1字符串格式化符号 83
4.2.2字符串格式化元组 85
4.3 字符串方法 87
4.3.1find()方法 87
4.3.2join()方法 88
4.3.3lower()方法 89
4.3.4upper()方法 90
4.3.5swapcase()方法 91
4.3.6replace()方法 91
4.3.7split()方法 92
4.3.8strip()方法 92
4.3.9translate()方法 93
4.4 调试 94
4.5 问题解答 95
4.6 温故知新,学以致用 95
第5章 字典 96
5.1 字典的使用 97
5.2 创建和使用字典 97
5.2.1dict函数 98
5.2.2字典的基本操作 98
5.2.3字典的格式化字符串 100
5.2.4字典和列表的区别 100
5.3 字典方法 101
5.3.1clear()方法 101
5.3.2copy()方法 102
5.3.3fromkeys()方法 103
5.3.4get()方法 104
5.3.5key in dict方法 105
5.3.6items()方法 105
5.3.7keys()方法 105
5.3.8setdefault()方法 106
5.3.9update()方法 107
5.3.10values()方法 107
5.4 调试 108
5.5 问题解答 108
5.6 温故知新,学以致用 109
第6章 条件、循环和其他语句110
6.1 使用文本编辑器 111
6.2import的使用 113
6.2.1import语句 113
6.2.2使用逗号输出 116
6.3 别样的赋值 116
6.3.1序列解包 116
6.3.2链式赋值 118
6.3.3增量赋值 118
6.4 语句块 119
6.5 条件语句 119
6.5.1布尔变量的作用 120
6.5.2if语句 121
6.5.3else子句 122
6.5.4elif子句 123
6.5.5嵌套代码块 124
6.5.6更多操作 124
6.5.7断言 127
6.6 循环 128
6.6.1while循环 128
6.6.2for循环 129
6.6.3循环遍历字典元素 131
6.6.4迭代工具 132
6.6.5跳出循环 134
6.6.6循环中的else子句 136
6.7pass语句 137
6.8 牛刀小试——猜字游戏编写138
6.9Python程序调试 140
6.10问题解答 141
6.11温故知新,学以致用 141
第7章 函数 142
7.1 调用函数 143
7.2 定义函数 145
7.3 函数的参数 147
7.3.1必须参数 148
7.3.2关键字参数 149
7.3.3默认参数 149
7.3.4可变参数 153
7.3.5组合参数 155
7.4 执行流程 155
7.5 形参和实参 156
7.6 变量作用域 157
7.6.1局部变量 157
7.6.2全局变量 159
7.7 有返回值和无返回值函数161
7.8 为什么要有函数 163
7.9 返回函数 163
7.10递归函数 166
7.11匿名函数 169
7.12偏函数 171
7.13牛刀小试——经典排序之快速排序实现 172
7.14调试 173
7.15问题解答 174
7.16温故知新,学以致用 174
第8章 面向对象编程 176
8.1 理解面向对象 177
8.1.1什么是面向对象编程 177
8.1.2面向对象术语简介 177
8.2 类的定义与使用 178
8.2.1类的定义 178
8.2.2类的使用 178
8.3 深入类 179
8.3.1类的构造方法 179
8.3.2类的访问权限 184
8.4 继承 189
8.5 多态 192
8.6 封装 196
8.7 多重继承 197
8.8 获取对象信息 199
8.9 类的专有方法 202
8.10牛刀小试——出行建议 207
8.11调试 209
8.12问题解答 209
8.13温故知新,学以致用 210
第9章 异常 211
9.1 什么是异常 212
9.2 异常处理 212
9.3 抛出异常 213
9.4 捕捉多个异常 215
9.5 使用一个块捕捉多个异常216
9.6 捕捉对象 217
9.7 全捕捉 217
9.8 异常中的else 218
9.9 自定义异常 219
9.10finally子句 220
9.11异常和函数 222
9.12bug的由来 223
9.13温故知新,学以致用 223
第10章 日期和时间 224
10.1日期和时间 225
10.1.1时间戳 225
10.1.2时间格式化符号 225
10.1.3struct_time元组 226
10.2time模块 227
10.2.1time()函数 227
10.2.2localtime([secs])函数 227
10.2.3gmtime([secs])函数 228
10.2.4mktime(t)函数 228
10.2.5asctime([t])函数 229
10.2.6 ctime([secs])函数 229
10.2.7sleep(secs)函数 230
10.2.8clock()函数 230
10.2.9strftime(format[, t])函数 231
10.2.10strptime(string[, format])函数 232
10.2.11三种时间格式转化 232
10.3datetime模块 232
10.4日历模块 236
10.5牛刀小试——时间大杂烩 237
10.6调试 242
10.7温故知新,学以致用242
第11章 正则表达式 244
11.1认识正则表达式 245
11.2re模块 247
11.2.1re.match函数 247
11.2.2re.search方法 247
11.2.3re.match与re.search的区别 248
11.3贪婪模式和非贪婪模式 249
11.4替换 250
11.5编译 250
11.6温故知新,学以致用 251
第12章 文件操作 252
12.1打开文件 253
12.1.1文件模式 254
12.1.2缓冲 255
12.2基本文件方法 255
12.2.1读和写 256
12.2.2读写行 258
12.2.3关闭文件 260
12.2.4文件重命名 261
12.2.5删除文件 262
12.3对文件内容进行迭代 262
12.3.1按字节处理 262
12.3.2按行操作 263
12.3.3使用fileinput实现懒加载式迭代 264
12.3.4文件迭代器 264
12.4StringIO函数 264
12.5序列化与反序列化 265
12.5.1一般序列化与反序列化 266
12.5.2JSON序列化与反序列化 267
12.6调试 269
12.7问题解答 269
12.8温故知新,学以致用 270
第13章 多线程 271
13.1线程和进程 272
13.1.1进程 272
13.1.2线程 272
13.1.3多线程与多进程 272
13.2使用线程 273
13.2.1全局解释器锁 273
13.2.2退出线程 274
13.2.3Python的线程模块 274
13.3 _thread模块 274
13.4threading模块 277
13.5线程同步 282
13.6线程优先级队列 284
13.7线程与进程比较 287
13.7.1线程切换 287
13.7.2计算密集型与IO密集型 288
13.7.3异步IO 288
13.8调试 289
13.9问题解答 289
13.10温故知新,学以致用 290
第14章 发送和接收电子邮件 291
14.1电子邮件介绍 292
14.2发送邮件 293
14.2.1SMTP发送邮件 293
14.2.2发送HTML格式的邮件 296
14.2.3发送带附件的邮件 297
14.2.4发送图片 298
14.2.5同时支持HTML和Plain格式 300
14.2.6加密SMTP 301
14.3POP3接收邮件 302
14.3.1POP3下载邮件 302
14.3.2解析邮件 303
14.4调试 305
14.5问题解答 305
14.6温故知新,学以致用 306
第15章 网络编程 307
15.1网络编程初识 308
15.2TCP/IP简介 308
15.3网络设计模块 309
15.3.1Socket简介 309
15.3.2socket模块 309
15.3.3socket对象(内建)方法 311
15.4TCP编程 312
15.4.1客户端 312
15.4.2服务器 315
15.5UDP编程 319
15.6urllib模块 322
15.6.1GET请求 322
15.6.2POST请求 323
15.7调试 324
15.8问题解答 325
15.9温故知新,学以致用 325
第16章 操作数据库 326
16.1数据库介绍 327
16.2Python数据库API 327
16.2.1全局变量 328
16.2.2异常 328
16.2.3连接和游标 329
16.2.4类型 330
16.3数据库操作 331
16.3.1数据库连接 331
16.3.2创建数据库表 332
16.3.3数据库插入 333
16.3.4数据库查询 334
16.3.5数据库更新 335
16.3.6数据库删除 337
16.4事务 338
16.5调试 339
16.6问题解答 339
16.7温故知新,学以致用 340
第17章 项目实战——爬虫 341
17.1了解爬虫 342
17.2爬虫的原理 342
17.3爬虫常用的几种技巧 343
17.3.1基本方法 343
17.3.2使用代理服务器 343
17.3.3cookie处理 344
17.3.4伪装成浏览器 344
17.3.5登录 345
17.4爬虫示例——抓取豆瓣电影Top250影评数据 345
17.4.1确定URL格式 346
17.4.2页面抓取 346
17.4.3提取相关信息 347
17.4.4写入文件 348
17.4.5完善代码 348
17.5本章小结 351
第18章 项目实战——数据分析352
18.1数据持久化 353
18.2模块化 357
18.2.1数据库操作模块化 357
18.2.2文件生成模块化 360
18.2.3邮件发送模块化 361
18.3数据分析的实现 365
18.4项目小结 369
附录 370
A.1 数学函数 371
A.2 *函数 371
A.3 三角函数 371
A.4Python字符串内建函数 372
A.5 列表方法 373
A.6 字典内置方法 374
A.7 正则表达式模式 374
结束语 376
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问