欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

Python 3.7从零开始学 刘宇宙 2018年版

收藏
  • 大小:215.11 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
Python 3.7从零开始学
作者:刘宇宙
出版时间:2018年版
内容简介
  本书专门针对Python新手量身编写,涵盖Python 3实际开发的重要知识点,内容包括:Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、多线程、正则表达式、面向对象编程、文件操作、网络编程、邮件收发、数据库操作等,提供Python爬虫、自然语言处理、区块链项目范例,各章还安排了调试、问题解答、温故知新、牛刀小试等内容,以帮助读者学会处理程序异常、解答学习困惑、巩固知识、学以致用。 本书还开发了配套小程序学习课件,课件中涵盖视频教学、代码示例、资源包、扩展知识、习题、PPT、FAQ、作业8大主题,大幅扩展了本书知识体系,可帮助读者轻松快速地掌握Python编程技能。 本书技术先进、示例丰富、代码可读性及可操作性强,非常适合Python初学者和转型到Python开发的程序员使用,也可作为Python网课、培训机构及大专院校的教学用书。
目录
第1章 进入Python 3.7的精彩世界 1

1.1 Python的起源 1

1.2 Python的应用场合 2

1.3 从2.7到3.7,Python的新特性 4

1.4 如何学习Python 6

1.5 Python环境构建 7

1.5.1 在Windows系统中安装Python 7

1.5.2 在Linux、UNIX系统和Mac中安装Python 14

1.5.3 其他版本 14

1.6 从Hello World开始 14

1.7 调试 15

1.8 问题解答 16

1.9 温故知新,学以致用 17

第2章 开启Python之旅 18

2.1 认识程序 18

2.1.1 程序 18

2.1.2 调试 19

2.1.3 语法错误 19

2.1.4 运行错误 20

2.1.5 语义错误 20

2.2 数据类型 20

2.2.1 整型 21

2.2.2 浮点型 22

2.2.3 复数 23

2.2.4 数据类型转换 23

2.2.5 常量 24

2.3 变量和关键字 24

2.3.1 变量 24

2.3.2 变量名称 28

2.4 语句 29

2.5 表达式 30

2.6 运算符和操作对象 31

2.6.1 什么是运算符和操作对象 31

2.6.2 算术运算符 31

2.6.3 比较运算符 32

2.6.4 赋值运算符 34

2.6.5 位运算符 35

2.6.6 逻辑运算符 36

2.6.7 成员运算符 36

2.6.8 身份运算符 37

2.6.9 运算符优先级 37

2.7 字符串操作 39

2.8 注释 42

2.9 牛刀小试——九九乘法表实现 43

2.10 调试 44

2.11 问题解答 44

2.12 温故知新,学以致用 45

第3章 列表和元组 47

3.1 通用序列操作 47

3.1.1 索引 47

3.1.2 分片 49

3.1.3 序列相加 51

3.1.4 乘法 52

3.1.5 成员资格 53

3.1.6 长度、最小值和最大值 54

3.2 列表 54

3.2.1 更新列表 54

3.2.2 嵌套列表 58

3.2.3 列表方法 59

3.3 元组 66

3.3.1 tuple函数 67

3.3.2 元组的基本操作 67

3.3.3 元组内置函数 68

3.4 列表与元组的区别 69

3.5 牛刀小试——列表与元组相互转化 70

3.6 调试 70

3.7 问题解答 71

3.8 温故知新,学以致用 72

第4章 字符串 74

4.1 字符串的基本操作 74

4.2 字符串格式化 75

4.2.1 字符串格式化符号 75

4.2.2 字符串格式化元组 77

4.3 字符串方法 80

4.3.1 find()方法 80

4.3.2 join()方法 81

4.3.3 lower()方法 81

4.3.4 upper()方法 82

4.3.5 swapcase()方法 83

4.3.6 replace()方法 83

4.3.7 split()方法 84

4.3.8 strip()方法 84

4.3.9 translate()方法 85

4.4 牛刀小试——变形金刚 86

4.5 调试 86

4.6 问题解答 87

4.7 温故知新,学以致用 87

第5章 字典 89

5.1 字典的使用 89

5.2 创建和使用字典 90

5.2.1 dict函数 90

5.2.2 字典的基本操作 91

5.2.3 字典的格式化字符串 92

5.2.4 字典和列表的区别 93

5.3 字典方法 93

5.3.1 clear()方法 94

5.3.2 copy()方法 95

5.3.3 fromkeys()方法 95

5.3.4 get()方法 96

5.3.5 key in dict方法 96

5.3.6 items()方法 97

5.3.7 keys()方法 97

5.3.8 setdefault()方法 98

5.3.9 update()方法 98

5.3.10 values()方法 99

5.4 牛刀小试——字典合并与排序 99

5.5 调试 100

5.6 问题解答 101

5.7 温故知新,学以致用 101

第6章 条件、循环和其他语句 103

6.1 使用文本编辑器 103

6.2 import的使用 105

6.2.1 import语句 105

6.2.2 使用逗号输出 108

6.3 别样的赋值 108

6.3.1 序列解包 108

6.3.2 链式赋值 109

6.3.3 增量赋值 110

6.4 语句块 111

6.5 条件语句 111

6.5.1 布尔变量的作用 111

6.5.2 if语句 112

6.5.3 else子句 114

6.5.4 elif子句 114

6.5.5 嵌套代码块 115

6.5.6 更多操作 115

6.5.7 断言 118

6.6 循环 118

6.6.1 while循环 119

6.6.3 循环遍历字典元素 122

6.6.4 迭代工具 123

6.6.5 跳出循环 124

6.6.6 循环中的else子句 126

6.7 pass语句 127

6.8 牛刀小试——猜字游戏编写 128

6.9 Python程序调试 129

6.10 问题解答 130

6.11 温故知新,学以致用 131

第7章 函数 133

7.1 调用函数 133

7.2 定义函数 135

7.3 函数的参数 137

7.3.1 必须参数 138

7.3.2 关键字参数 138

7.3.3 默认参数 139

7.3.4 可变参数 142

7.3.5 组合参数 144

7.4 执行流程 144

7.5 形参和实参 145

7.6 变量作用域 146

7.6.1 局部变量 146

7.6.2 全局变量 148

7.7 有返回值和无返回值函数 150

7.8 为什么要有函数 151

7.9 返回函数 151

7.10 递归函数 154

7.11 匿名函数 156

7.12 偏函数 159

7.13 牛刀小试——经典排序之快速排序实现 159

7.14 调试 161

7.15 问题解答 161

7.16 温故知新,学以致用 162

第8章 面向对象编程 164

8.1 理解面向对象 164

8.1.1 什么是面向对象编程 164

8.1.2 面向对象术语简介 164

8.2 类的定义与使用 165

8.2.1 类的定义 165

8.2.2 类的使用 166

8.3 深入类 167

8.3.1 类的构造方法 167

8.3.2 类的访问权限 171

8.4 继承 175

8.5 多态 178

8.6 封装 181

8.7 多重继承 182

8.8 获取对象信息 184

8.9 类的专有方法 187

8.10 牛刀小试——出行建议 191

8.11 调试 193

8.12 问题解答 193

8.13 温故知新,学以致用 194

第9章 异常 196

9.1 什么是异常 196

9.2 异常处理 197

9.3 抛出异常 198

9.4 捕捉多个异常 199

9.5 使用一个块捕捉多个异常 200

9.6 捕捉对象 201

9.7 全捕捉 201

9.8 异常中的else 202

9.9 自定义异常 203

9.10 finally子句 204

9.11 异常和函数 205

9.12 牛刀小试——正常数和异常数 206

9.13 bug的由来 208

9.14 温故知新,学以致用 208

第10章 日期和时间 210

10.1 日期和时间 210

10.1.1 时间戳 210

10.1.2 时间格式化符号 211

10.1.3 struct_time元组 212

10.2 time模块 212

10.2.1 time()函数 212

10.2.2 localtime([secs])函数 213

10.2.3 gmtime([secs])函数 213

10.2.4 mktime(t)函数 214

10.2.5 asctime([t])函数 214

10.2.6 ctime([secs])函数 214

10.2.7 sleep(secs)函数 215

10.2.8 clock()函数 215

10.2.9 strftime(format[, t])函数 216

10.2.10 strptime(string[, format])函数 217

10.2.11 三种时间格式转化 217

10.3 datetime模块 217

10.4 日历模块 221

10.5 牛刀小试——时间大杂烩 222

10.6 调试 226

10.7 温故知新,学以致用 226

第11章 正则表达式 228

11.1 认识正则表达式 228

11.2 re模块 230

11.2.1 re.match函数 230

11.2.2 re.search方法 231

11.2.3 re.match与re.search的区别 231

11.3 贪婪模式和非贪婪模式 232

11.4 替换 233

11.5 编译 234

11.6 牛刀小试——匹配比较 234

11.7 温故知新,学以致用 235

第12章 文件操作 237

12.1 打开文件 237

12.1.1 文件模式 239

12.1.2 缓存 239

12.2 基本文件方法 240

12.2.1 读和写 240

12.2.2 读写行 243

12.2.3 关闭文件 244

12.2.4 文件重命名 245

12.2.5 删除文件 246

12.3 对文件内容进行迭代 246

12.3.1 按字节处理 246

12.3.2 按行操作 247

12.3.3 使用fileinput实现懒加载式迭代 247

12.3.4 文件迭代器 248

12.4 StringIO函数 248

12.5 序列化与反序列化 249

12.5.1 一般序列化与反序列化 249

12.5.2 JSON序列化与反序列化 250

12.6 牛刀小试——批量更改文件名 252

12.7 调试 253

12.8 问题解答 254

12.9 温故知新,学以致用 254

第13章 多线程 256

13.1 线程和进程 256

13.1.1 进程 256

13.1.2 线程 256

13.1.3 多线程与多进程 257

13.2 使用线程 258

13.2.1 全局解释器锁 258

13.2.2 退出线程 258

13.2.3 Python的线程模块 259

13.3 _thread模块 259

13.4 threading模块 261

13.5 线程同步 265

13.6 线程优先级队列 267

13.7 线程与进程比较 269

13.7.1 线程切换 270

13.7.2 计算密集型与IO密集型 270

13.7.3 异步IO 271

13.8 牛刀小试——多线程简单爬虫 271

13.9 调试 272

13.10 问题解答 273

13.11 温故知新,学以致用 273

第14章 发送和接收电子邮件 275

14.1 电子邮件介绍 275

14.2 发送邮件 277

14.2.1 SMTP发送邮件 277

14.2.2 发送HTML格式的邮件 279

14.2.3 发送带附件的邮件 280

14.2.4 发送图片 281

14.2.5 同时支持HTML和Plain格式 282

14.2.6 加密SMTP 284

14.3 POP3接收邮件 284

14.3.1 POP3下载邮件 285

14.3.2 解析邮件 286

14.4 牛刀小试——邮件发送通用化 287

14.5 调试 290

14.6 问题解答 290

14.7 温故知新,学以致用 290

第15章 网络编程 292

15.1 初识网络编程 292

15.2 TCP/IP简介 292

15.3 网络设计模块 293

15.3.1 Socket简介 294

15.3.2 socket模块 294

15.3.3 socket对象(内建)方法 296

15.4 TCP编程 297

15.4.1 客户端 297

15.4.2 服务器编程 299

15.5 UDP编程 303

15.6 urllib模块 305

15.6.1 GET请求 305

15.6.2 POST请求 306

15.7 牛刀小试——模拟浏览器 307

15.8 调试 308

15.9 问题解答 308

15.10 温故知新,学以致用 308

第16章 GUI编程 310

16.1 GUI简介 310

16.1.1 常用GUI库简介 310

16.1.2 安装tkinter 311

16.2 概念介绍 311

16.2.1 窗口和控件 311

16.2.2 事件驱动处理 312

16.2.3 布局管理器 312

16.3 Tk控件 312

16.3.1 Button控件 313

16.3.2 Checkbutton控件 314

16.3.3 Label控件 315

16.3.4 Text控件 316

16.3.5 Menu控件 317

16.4 tkinter 组合控件 319

16.5 牛刀小试——计算器开发 320

16.6 调试 325

16.7 问题解答 325

16.8 温故知新,学以致用 325

第17章 操作数据库 327

17.1 数据库介绍 327

17.2 Python数据库API 328

17.2.1 全局变量 328

17.2.2 异常 329

17.2.3 连接和游标 329

17.2.4 类型 331

17.3 数据库操作 331

17.3.1 数据库连接 331

17.3.2 创建数据库表 332

17.3.3 数据库插入 333

17.3.4 数据库查询 334

17.3.5 数据库更新 335

17.3.6 数据库删除 336

17.4 事务 337

17.5 调试 338

17.6 问题解答 338

17.7 温故知新,学以致用 339

第18章 项目实战——爬虫 340

18.1 了解爬虫 340

18.2 爬虫的原理 341

18.3 爬虫常用的几种技巧 341

18.3.1 基本方法 341

18.3.2 使用代理服务器 342

18.3.3 Cookie处理 342

18.3.4 伪装成浏览器 343

18.3.5 登录 343

18.4 爬虫示例——抓取豆瓣电影Top250影评数据 344

18.4.1 确定URL格式 344

18.4.2 页面抓取 344

18.4.3 提取相关信息 345

18.4.4 写入文件 346

18.4.5 完善代码 346

18.5 项目小结 349

第19章 自然语言分词与词频统计 350

19.1 概念介绍 350

19.1.1 SQLAlchemy简介 350

19.1.2 pyecharts简介 351

19.1.3 jieba分词库简介 351

19.1.4 BeautifulSoup库简介 351

19.2 库的安装与使用 351

19.2.1 SQLAlchemy的安装与使用 351

19.2.2 pyecharts的安装与使用 352

19.2.3 jieba分词库的安装与使用 353

19.2.4 BeautifulSoup的安装与使用 354

19.3 分词与词频统计实战 354

19.3.1 整体结构设计 355

19.3.2 数据结构设计 355

19.3.3 数据的爬取与保存 356

19.3.4 制定关键词库 358

19.3.5 词频统计与图表生成 358

19.4 分词与词频统计完整代码实现与结果查看 359

19.5 项目小结 367

第20章 区块链实战 368

20.1 区块链简介 368

20.1.1 区块链的定义 368

20.1.2 区块链的特点 369

20.1.3 区块链应用行业及领域 369

20.2 区块链代码结构设计 369

20.2.1 环境准备 369

20.2.2 代码结构设计 369

20.3 区块链具体逻辑实现 371

20.3.1 块结构 371

20.3.2 加入交易 372

20.3.3 创建新块 372

20.3.4 工作量证明的理解 374

20.3.5 工作量证明的实现 374

20.4 API接口层开发 375

20.4.1 发送交易 375

20.4.2 挖矿 376

20.4.3 返回整个区块链 376

20.5 运行区块链 377

20.6 分布式实现 378

20.6.1 注册节点 379

20.6.2 实现共识算法 379

20.7 完整项目代码与执行 381

20.8 项目小结 393

附录 394

A.1 数学函数 394

A.2 随机函数 394

A.3 三角函数 395

A.4 Python字符串内建函数 395

A.5 列表方法 397

A.6 字典内置方法 397

A.7 正则表达式模式 398
下载地址