猜你喜欢
Python 3.5从零开始学

Python 3.5从零开始学

书籍作者:刘宇宙 ISBN:9787302475965
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:5592
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

  本书专门针对Python新手量身定做,涵盖了Python 3 实际开发的重要知识点,内容包括:Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、多线程、正则表达式、面向对象编程、文件操作、网络编程、邮件收发、数据库操作等,提供Python爬虫、数据处理项目范例,各章还安排了调试、问题解答、温故知新、牛九小试等内容,以帮助读者学会处理程序异常、解答学习困惑、巩固知识、学以致用。

  本书通俗易懂、示例丰富、代码可读性及可操作性强。非常适合Python 3.x初学者、想学习和了解Python 3的程序员,也可作为Python网课、培训及大专院校教学用书。


作者简介

  刘宇宙,计算科学学学士,多年工作经验,先后供职于上海海鼎、上海云卯、上海宏力达,目前供职于上海透云科技码上加事业部,担任软件工程师,从事大数据研发。先后从事过卡系统的研发,云计算项目中IAAS系统的研发,大数据项目研发,物联网研发。对Java、Python有深入研究。Python技术爱好者,在CSDN发表原创Python博文多篇。

前言

  前言

  什么是Python,你为什么要使用它?

  Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。这里有很多术语,你可以在阅读本书的过程中逐渐弄懂。

  Python是一种使你在编程时能够保持自己风格的程序设计语,使用它你可以使用清晰易懂的程序来实现你想要的功能。并且如果你之前没有任何编程经历,那么既简单又强大的Python就是你入门的完美选择。

  伴随着云计算、大数据等技术的迅速崛起,市场对Python人才的需求和市场人才的匮乏,让长期沉默的Python语言一下子备受众人的关注,本书可说是应运而生,另外,目前Python广泛使用的是2.7版本,新版本Python3.5带来了很多新特性,本书是以Python3.5版本编写而成的,对于想学习和了解Python3.5的使用和特性的读者,本书可以说是最佳选择。

  本书的特色

  本书专门针对Python新手量身定做,是编者学习和使用Python开发过程中的体会和经验总结,涵盖了实际开发中所有的重要知识点,内容详尽,代码可读性及可操作性强。

  本书主要介绍了Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、多线程、正则表达式、面向对象编程、文件操作、网络编程、邮件收发、数据库操作等,并安排了Python爬虫、数据处理项目范例,各章还安排了调试、问题解答、温故知、牛九小试等章节实例等内容,以帮助读者学会处理程序异常、解答学习困惑、巩固知识、学以致用。

  本书的另一个特色是,使用通俗易懂的描述和丰富的示例代码,并结合日常生活中的一些小事件,使本书读起来尽可能生动有趣,让复杂的问题以简单的形式展现出来,使读者学来轻松,充分感受到学习Python的乐趣和魅力。

  本书的内容

  本书共分18章,各章内容安排如下:

  第1章主要介绍Python的起源、应用场合、前景以及Python3相对于Python2的一些新特性。

  第2章主要介绍Python的基础知识,为后续章节学习相关内容做铺垫。

  第3章将重点介绍列表和元组。

  第4章将重点介绍字符串的格式化、分割、搜索等方法。

  第5章将介绍字典,字典是一种通过名字引用值的数据结构。

  第6章从import语句开始介绍,然后逐步深入介绍条件语句、循环语句以及列表推导式等一些更深层次的语句。

  第7章主要介绍函数,函数是组织好的、可重复使用的,用来实现单一或相关联功能的代码段。

  第8章主要介绍Python面向对象编程的特性,Python从设计之初就是一门面向对象语言,它提供一些语言特性支持面向对象编程。

  第9章将带领读者学习如何处理各种异常,以及创建和自定义异常。

  第10章将具体讲解Python中日期和时间的使用。

  第11章主要介绍正则表达式的基本使用。

  第12章主要介绍如何使用Python在硬盘上创建、读取和保存文件。

  第13章主要介绍Python中的多线程编程。

  第14章主要介绍如何使用Python语言发送和接收邮件。

  第15章将重点介绍Python在网络编程方面的特性。

  第16章将重点介绍在Python3.5中使用PyMySQL连接数据库,并实现简单的增、删、改、查。

  第17章将根据前面所学讲解一个爬虫的实战项目。

  第18章将结合大数据的相关思维,使用已有数据做一些简单的数据分析。

  读者对象

  Python3.x初学者。

  想学习和了解Python的程序员。

  Python网课、培训及大专院校教学用书。

  致谢

  在本书交稿之际,感谢清华大学出版社的王金柱编辑,在本书编写的过程中,王编辑给予了很多指导和修改意见。同时感谢家人和朋友在写作期间给予的安静写作环境,让笔者不被更多琐事打扰,从而专心于写作。感谢你们,没有你们的帮助与关心,本书不能如期完成。

  技术群及问题解答方式

  Python技术服务qq群:634027520

  CSDN技术博客:youzhouliu

  技术问答email:[email protected]

  编者

  2017年3月


目录

目 录
第1章 进入Python 3.5的精彩世界 1
1.1 Python的起源 2
1.2 Python的应用场合 3
1.3 从2.7到3.5,Python的新特性 5
1.4 如何学习Python 6
1.5 Python环境构建 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.1 tuple函数 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.1 find()方法 87
4.3.2 join()方法 88
4.3.3 lower()方法 89
4.3.4 upper()方法 90
4.3.5 swapcase()方法 91
4.3.6 replace()方法 91
4.3.7 split()方法 92
4.3.8 strip()方法 92
4.3.9 translate()方法 93
4.4 调试 94
4.5 问题解答 95
4.6 温故知新,学以致用 95
第5章 字典 96
5.1 字典的使用 97
5.2 创建和使用字典 97
5.2.1 dict函数 98
5.2.2 字典的基本操作 98
5.2.3 字典的格式化字符串 100
5.2.4 字典和列表的区别 100
5.3 字典方法 101
5.3.1 clear()方法 101
5.3.2 copy()方法 102
5.3.3 fromkeys()方法 103
5.3.4 get()方法 104
5.3.5 key in dict方法 105
5.3.6 items()方法 105
5.3.7 keys()方法 105
5.3.8 setdefault()方法 106
5.3.9 update()方法 107
5.3.10 values()方法 107
5.4 调试 108
5.5 问题解答 108
5.6 温故知新,学以致用 109
第6章 条件、循环和其他语句 110
6.1 使用文本编辑器 111
6.2 import的使用 113
6.2.1 import语句 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.2 if语句 121
6.5.3 else子句 122
6.5.4 elif子句 123
6.5.5 嵌套代码块 124
6.5.6 更多操作 124
6.5.7 断言 127
6.6 循环 128
6.6.1 while循环 128
6.6.2 for循环 129
6.6.3 循环遍历字典元素 131
6.6.4 迭代工具 132
6.6.5 跳出循环 134
6.6.6 循环中的else子句 136
6.7 pass语句 137
6.8 牛刀小试——猜字游戏编写 138
6.9 Python程序调试 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.10 finally子句 220
9.11 异常和函数 222
9.12 bug的由来 223
9.13 温故知新,学以致用 223
第10章 日期和时间 224
10.1 日期和时间 225
10.1.1 时间戳 225
10.1.2 时间格式化符号 225
10.1.3 struct_time元组 226
10.2 time模块 227
10.2.1 time()函数 227
10.2.2 localtime([secs])函数 227
10.2.3 gmtime([secs])函数 228
10.2.4 mktime(t)函数 228
10.2.5 asctime([t])函数 229
10.2.6 ctime([secs])函数 229
10.2.7 sleep(secs)函数 230
10.2.8 clock()函数 230
10.2.9 strftime(format[, t])函数 231
10.2.10 strptime(string[, format])函数 232
10.2.11 三种时间格式转化 232
10.3 datetime模块 232
10.4 日历模块 236
10.5 牛刀小试——时间大杂烩 237
10.6 调试 242
10.7 温故知新,学以致用 242
第11章 正则表达式 244
11.1 认识正则表达式 245
11.2 re模块 247
11.2.1 re.match函数 247
11.2.2 re.search方法 247
11.2.3 re.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.4 StringIO函数 264
12.5 序列化与反序列化 265
12.5.1 一般序列化与反序列化 266
12.5.2 JSON序列化与反序列化 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.3 Python的线程模块 274
13.3 _thread模块 274
13.4 threading模块 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.1 SMTP发送邮件 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.3 POP3接收邮件 302
14.3.1 POP3下载邮件 302
14.3.2 解析邮件 303
14.4 调试 305
14.5 问题解答 305
14.6 温故知新,学以致用 306
第15章 网络编程 307
15.1 网络编程初识 308
15.2 TCP/IP简介 308
15.3 网络设计模块 309
15.3.1 Socket简介 309
15.3.2 socket模块 309
15.3.3 socket对象(内建)方法 311
15.4 TCP编程 312
15.4.1 客户端 312
15.4.2 服务器 315
15.5 UDP编程 319
15.6 urllib模块 322
15.6.1 GET请求 322
15.6.2 POST请求 323
15.7 调试 324
15.8 问题解答 325
15.9 温故知新,学以致用 325
第16章 操作数据库 326
16.1 数据库介绍 327
16.2 Python数据库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.3 cookie处理 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.4 Python字符串内建函数 372
A.5 列表方法 373
A.6 字典内置方法 374
A.7 正则表达式模式 374
结束语 376

产品特色