猜你喜欢
Python从菜鸟到高手

Python从菜鸟到高手

书籍作者:李宁 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


产品特色