JetBrains官方推荐图书!JetBrains官大中华区市场部经理赵磊作序!送2400分钟同步视频课程!500个案例,400道Python练习题,电子书,10万行源代码,6个实战项目!
李宁 “私房菜谱”:
Python语法基础
Python高级编程
Python Web开发
Python科学计算与数据分析
Python Web爬虫技术
Python项目实战
李宁“实战项目”:
Web项目实战:基于Flask的美团网
Web项目实战:基于Django的58同城
爬虫项目实战:天气预报服务API
爬虫项目实战:胸罩销售数据分析
GUI项目实战:动态修改域名指向的IP
游戏项目实战:俄罗斯方块
内 容 简 介
本书从实战角度系统讲解了Python核心知识点以及Python在Web开发、数据分析、网络爬虫、桌面应用等领域的各种开发实践。本书用超过5万行的代码及大量的实战案例完美演绎了Python在各个领域的出色表现,每一个案例都有详细的实现步骤,带领读者由浅入深系统掌握Python语言的核心及Python全栈开发技能。本书共分六篇,各篇内容如下:
Python基础知识篇(第1章~第10章),内容主要包括Python的基本概念、开发环境安装和配置、Python语言的基础知识,控制语句、列表、元组、字符串、字典、函数、类、对象、异常、方法、属性和迭代器;Python高级编程篇(第11章~第20章),内容主要包括正则表达式、常用模块、文件和流、数据存储、TCP和UDP编程、Urllib3、twisted、FTP、Email、多线程、tkinter、PyQt5和测试;Python Web开发篇(第21章、第22章),主要讲解了Python语言中流行的两个Web开发框架(Flask和Django)的使用方法;Python科学计算与数据分析篇(第23章~第25章),主要讲解了Python语言中常用的3个数据分析和数据可视化库(NumPy、Matplotlib和Pandas)的使用方法;Python Web爬虫技术篇(第26章、第27章),主要讲解了编写网络爬虫的关键技术和常用程序库,这些程序库主要包括Beautiful Soup和Scrapy;Python项目实战篇(第28章~第33章),内容主要包括Web项目开发实战、爬虫项目开发实战、API项目开发实战、桌面应用项目开发实战和游戏项目开发实战。
本书适合作为Python程序设计者的参考用书。
前言... 3
本书配套资源... 5
第一篇 Python基础知识
第1章 初识Python. 3
1.1 Python简介... 3
1.2 搭建Python开发环境... 8
1.3 第一个Python程序... 26
1.4 调试Python程序... 26
1.5 小结... 29
1.6 实战与练习... 29
第2章 Python语言基础... 30
2.1 Python程序中的基本要素... 30
2.2 数字... 34
2.3 获取用户输入... 39
2.4 函数... 40
2.5 注释... 41
2.6 字符串基础... 42
2.7 小结... 47
2.8 实战与练习... 47
第3章 条件、循环和其他语句... 49
3.1 神奇的print函数... 49
3.2 有趣的赋值操作... 51
3.3 用缩进创建代码块... 53
3.4 条件和条件语句... 53
3.5 循环... 62
3.6 使用exec和eval执行求值字符串... 69
3.7 小结... 71
3.8 实战与练习... 71
第4章 列表和元组... 73
4.1 定义序列... 73
4.2 序列的基本操作... 74
4.3 列表的基本操作... 87
4.4 列表方法... 89
4.5 元组... 93
4.6 小结... 95
4.7 实战与练习... 95
第5章 字符串.
5.1 字符串的基本操作... 97
5.2 格式化字符串.... 98
5.3 字符串方法 107
5.4 小结... 114
5.5 实战与练习... 115
第6章 字典... 116
6.1 为什么要引入字典... 116
6.2 创建和使用字典... 117
6.3 字典方法... 124
6.4 小结... 133
6.5 实战与练习... 133
第7章 函数... 134
7.1 懒惰是重用的基石... 134
7.2 函数基础... 136
7.3 函数参数... 139
7.4 作用域... 154
7.5 递归... 156
7.6 小结... 158
7.7 实战与练习... 158
第8章 类和对象... 159
8.1 对象的魔法... 159
8.2 类... 160
8.3 小结... 170
8.4 实战与练习... 171
第9章 异常... 172
9.1 什么是异常... 172
9.2 主动抛出异常... 173
9.3 捕捉异常... 176
9.4 异常、函数与栈跟踪... 185
9.5 异常的妙用... 186
9.6 小结... 188
9.7 实战与练习... 188
第10章 方法、属性和迭代器... 189
10.1 构造方法... 189
10.2 特殊成员方法... 194
10.3 属性... 199
10.4 静态方法和类方法... 205
10.5 迭代器... 207
10.6 生成器... 210
10.7 小结... 213
10.8 实战与练习... 214
第二篇 Python高级编程
第11章 正则表达式... 217
11.1 在Python语言中使用正则表达式... 217
11.2 一些常用的正则表达式... 232
11.3 小结... 233
11.4 实战与练习... 234
第12章 常用模块... 235
12.1 sys模块... 235
12.2 os模块... 238
12.3 集合、堆和双端队列(heap模块、deque类)... 243
12.4 时间、日期与日历(time模块)... 250
12.5 随机数(random模块)... 256
12.6 数学(math模块)... 257
12.7 小结... 258
12.8 实战与练习... 258
第13章 文件和流... 259
13.1 打开文件... 259
13.2 操作文件的基本方法... 260
13.3 使用FileInput对象读取文件... 265
13.4 小结... 266
13.5 实战与练习... 266
第14章 数据存储... 268
14.1 处理XML格式的数据... 268
14.2 处理JSON格式的数据... 273
14.3 将JSON字符串转换为XML字符串... 278
14.4 SQLite数据库... 279
14.5 MySQL数据库... 284
14.6 ORM... 286
14.7 非关系型数据库... 294
14.8 小结... 297
14.9 实战与练习... 297
第15章 TCP与UDP编程... 299
15.1 套接字... 299
15.2 socketserver模块... 314
15.3 小结... 316
15.4 实战与练习... 316
第16章 网络高级编程... 317
16.1 urllib3模块... 317
16.2 twisted框架... 326
16.3 FTP客户端... 338
16.4 Email客户端... 341
16.5 小结... 348
16.6 实战与练习... 348
第17章 多线程... 349
17.1 线程与进程... 349
17.2 Python与线程... 350
17.3 高级线程模块... 355
17.4 线程同步... 359
17.5 生产者—消费者问题与queue模块... 364
17.6 小结... 366
17.7 实战与练习... 366
第18章 GUI库:tkinter. 368
18.1 tkinter简介... 368
18.2 编写第一个tkinter程序... 368
18.3 布局... 370
18.4 控件... 378
18.5 向窗口添加菜单... 387
18.6 对话框... 389
18.7 小结... 390
18.8 实战与练习... 390
第19章 GUI库:PyQt5. 391
19.1 PyQt5简介... 391
19.2 安装PyQt5. 392
19.3 编写第一个PyQt5程序... 397
19.4 窗口的基本功能... 398
19.5 布局... 402
19.6 控件... 406
19.7 菜单... 416
19.8 小结... 418
19.9 实战与练习... 418
第20章 测试... 419
20.1 先测试后编码.... 419
20.2 测试工具... 421
20.3 检查源代码... 424
20.4 性能分析... 428
20.5 小结... 429
20.6 实战与练习... 429
第三篇 Python Web开发
第21章 Python Web框架:Flask. 433
21.1 Flask基础知识... 434
21.2 Jinja2模板... 443
21.3 Web表单与Flask-WTF扩展... 461
21.4 小结... 473
21.5 实战与练习... 474
第22章 Python Web框架:Django. 475
22.1 Django开发环境搭建... 475
22.2 Django基础知识... 476
22.3 Django模板... 490
22.4 小结... 496
22.5 实战与练习... 496
第四篇 Python科学计算与数据分析
第23章 科学计算库:NumPy. 499
23.1 NumPy开发环境搭建... 499
23.2 第一个NumPy程序... 500
23.3 NumPy数组... 501
23.4 NumPy常用函数... 509
23.5 小结... 515
23.6 实战与练习... 515
第24章 数据可视化库:Matplotlib. 516
24.1 Matplotlib开发环境搭建... 516
24.2 基础知识... 517
24.3 定制颜色和样式... 524
24.4 注释... 529
24.5 小结... 532
24.6 实战与练习... 533
第25章 数据分析库:Pandas. 534
25.1 Pandas开发环境搭建... 534
25.2 样本数据集... 534
25.3 Pandas基础知识... 535
25.4 Pandas数据类型... 541
25.5 小结... 547
25.6 实战与练习... 548
第五篇 Python Web爬虫技术
第26章 网络爬虫与Beautiful Soup. 551
26.1 网络爬虫基础... 551
26.2 HTML分析库:Beautiful Soup. 560
26.3 支持下载队列的多线程网络爬虫... 566
26.4 小结... 568
26.5 实战与练习... 568
第27章 网络爬虫框架:Scrapy. 570
27.1 Scrapy基础知识... 570
27.2 用Scrapy编写网络爬虫... 574
27.3 小结... 578
27.4 实战与练习... 578
第六篇 Python项目实战
第28章 Web项目实战:基于 Flask的美团网... 581
28.1 项目概述... 581
28.2 美团网核心功能实现... 583
28.3 Python与微信支付... 585
28.4 小结... 588
第29章 Web项目实战:基于Django的58同城... 589
29.1 项目效果演示... 589
29.2 操作MySQL数据库... 590
29.3 账号... 590
29.4 招聘页面... 594
29.5 二手车页面... 595
29.6 小结... 597
第30章 网络爬虫实战:天气预报服务API. 598
30.1 项目效果演示... 598
30.2 建立MySQL数据库... 599
30.3 抓取天气预报数据... 599
30.4 编写天气预报服务API. 600
30.5 实现Web版天气预报查询客户端... 601
30.6 小结... 601
第31章 爬虫项目实战:胸罩销售数据分析... 602
31.1 项目效果演示... 602
31.2 天猫胸罩销售数据... 604
31.3 京东胸罩销售数据... 607
31.4 数据清洗... 609
31.5 数据分析与可视化... 611
31.6 小结... 618
第32章 GUI项目实战:动态修改域名指向的IP.. 619
32.1 搭建开发环境... 619
32.2 项目效果演示... 619
32.3 获取公网IP. 620
32.4 定时更新公网IP. 621
32.5 更新域名对应的IP. 622
32.6 小结... 623
第33章 游戏项目实战:俄罗斯方块... 624
33.1 搭建开发环境... 624
33.2 项目效果演示... 624
33.3 用户注册... 625
33.4 用户登录... 626
33.5 游戏界面绘制和渲染... 628
33.6 用按键控制游戏... 629
33.7 播放背景音乐... 630
33.8 用户积分... 631
33.9 小结... 632