书籍作者:李宁 | ISBN:9787302507161 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:4080 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内 容 简 介
本书从实战角度系统讲解了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程序设计者的参考用书。
作者简介
李宁 欧瑞科技创始人/CEO,宁哥教育创始人,东北大学计算机专业硕士。曾任国内某大型软件公司项目经理、宁哥教育教学总监、51CTO学院金牌讲师、CSDN特级讲师。从事软件研究和开发超过15年,一直从事Python、人工智能、区块链、JavaScript、Node.js、Java以及跨平台技术的研究和技术指导工作,对国内外相关领域的技术、理论和实践有很深的理解和研究。
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语言课程。究其原因,很大程度上是受深度学习的影响。2016年谷歌子公司DeepMind开发的围棋人工智能程序AlphaGo战胜世界围棋冠军李世石以来,科技界一直处于亢奋状态,因为AlphaGo的胜利不仅能证明人工智能程序终于战胜了对人类最有挑战的游戏——围棋,而且预示着人工智能具有无限可能。AlphaGo背后的功臣就是近几年越来越火的深度学习,即让人工智能程序通过算法和数据模拟人脑的神经元,从而让人工智能在某些方面达到或超越人类的认知。而深度学习在最近几年发展如此迅速,除了硬件性能大幅度提高、数据大量积累,与Python语言也有非常大的关系。Python语言简单易用,运行效率较高,而且拥有众多的深度学习与数据分析程序库,已经成为深度学习的首选编程语言。
Python语言不仅仅是深度学习的专利,还是一个非常强大的、完备的编程语言,几乎能实现各种类型的应用。例如,通过Flask或Django可以实现任意复杂的Web应用;通过tkinter和PyQt5可以实现跨平台的桌面应用;通过NumPy、Matplotlib、Pandas等程序库可以进行科学计算、数据分析以及数据可视化;通过Beautiful Soup、Scrapy等程序库可以实现强大的网络爬虫。Python语言还有大量第三方的程序库,几乎包含了人们需要的所有功能,所以有很多人将Python看作全栈语言,因为Python语言什么都能做。
由于Python语言涉及的领域很多,学习资料过于分散。因此,我觉得很有必要编写一本全面介绍Python语言在各个主要领域应用与实战的书,并在书中分享我对Python语言以及相关技术的理解和经验,帮助同行和刚开始学习的读者快速掌握Python语言基础知识,还可以利用Python语言编写各种实际的应用。希望本书能起到抛砖引玉的作用,使读者对Python语言及相关技术产生浓厚的兴趣,并将Python语言作为自己的职业生涯中的一项必备技能。
本书使用了最新的Python3编写,并在书中探讨了Python3中几乎所有的核心技术。本书分为六篇,共33章,涵盖了Python的基础知识、Python的高级技术、Web开发、数据分析、数据可视化、桌面应用、网络爬虫等常用技术,并在最后一篇提供了大量的实战项目以巩固前面所学的知识。此外,本书还提供了超过40小时的同步视频课程,读者可以利用这些视频课程更直观地学习本书的知识。
限于篇幅,本书无法涉及Python语言相关技术的所有方面,只能尽自己所能,与大家分享尽可能多的知识和经验,相信通过对本书的学习,读者可以拥有进一步深度学习的能力,成为Python高手只是时间问题。
最后,希望本书能为我国的Python语言以及相关技术的普及、为广大从业者提供有价值的实践经验和快速上手贡献绵薄之力。
作 者
2018年7月20日
官方推荐序言
人类历史从古今一辙发展到现在已是日新月异,科技正在为这个世界勾勒更加绚丽的未来。这其中离不开人类与计算机之间沟通的艺术。凭借一行行的代码、一串串的字符,交流不再受到语言的限制、不再受到空间的阻隔,计算机语言的魅力随着时代的发展体现得淋漓尽致。
JetBrains致力于为开发者打造智能的开发工具,让计算机语言交流也能够轻松自如。历经15年的不断创新,JetBrains始终在不断完善我们的平台,以满足最顶尖的开发需要。
在全球,JetBrains的平台备受数百万开发者的青睐,深入各行各业见证着他们的创新与突破。在JetBrains,我们始终追求为开发者简化复杂的项目,自动完成那些简单的部分,让开发者能够最大程度专注于代码的设计和全局的构建。
JetBrains提供一流的工具,用来帮助开发者打造完美的代码。为了展现每一种语言独特的一面,我们的IDE致力于为开发者提供如下产品:Java(IntelliJ IDEA)、C/C++(CLion)、Python(PyCharm)、PHP(PhpStorm)、.NET跨平台(ReSharper, Rider),并提供相关的团队项目追踪、代码审查工具等。不仅如此,JetBrains还创造了自己的语言Kotlin,让程序的逻辑和含义更加清晰。
与此同时,JetBrains还为开源项目、教育行业和社区提供了独特的免费版本。这些版本不仅适用于专业的开发者,满足相关的开发需求。同时也能够使初学者易于上手,由浅入深地使用计算机语言交互沟通。
2018年,JetBrains将同清华大学出版社一道,策划一套涉及上述产品与技术的高水平图书,也希望通过这套丛书,让更广泛的读者体会到JetBrains的平台协助编程的无穷魅力。期待更多的读者能够拥抱高效开发,发挥最大的创造潜力。
让未来在你的指尖跳动!
JetBrains大中华区市场经理
赵 磊
推荐序... 1
前言... 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