Python3.8编程快速入门

Python3.8编程快速入门"

作者:薛燚
ISBN:9787302562986
定价:¥79
字数:千字
页数:
出版时间:2020.10.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

随着人工智能时代的到来,Python已经成为主流开发语言。本书针对完全零基础入门的读者,采用最小化安装+极简代码的教学方式,让读者学练结合,达到入门Python与网络爬虫编程的目的。本书使用PyCharm开发环境,提供源码与开发环境下载。

本书分为16章,从Python版本的演化、环境的搭建开始,逐步介绍Python 3.8语言的语法基础,包括内置类型、流程控制、函数、类和对象、异常处理、模块和包、迭代器、装饰器、多线程、文件和目录、正则表达式、网络编程、urllib爬虫、Beautiful Soup爬虫实战与Scrapy爬虫实战等。

本书概念清晰、内容简练,是广大Python与网络爬虫入门读者的佳选,同时也非常适合高等院校和培训学校相关专业的师生教学参考。

前言

前    言

? Python如何用来获取网上的数据?

? Python 3.8的语法都有什么变化?

? 如何选择适合自己的Python版本?

? 学习Python用什么IDE工具?

? 用Windows系统还是Linux系统?

? 人工智能这么火,零基础能学Python吗?

? 如何用一本书学会Python与网络爬虫?

随着Python语言的普及,越来越多非计算机专业的人们开始学习它,而面对Python越来越复杂的功能,小白读者比较迷茫,如何学?怎么学?本书由浅入深,由理论到实践,尤其适合初学者逐步学习和完善自己的Python知识结构,最终具备Python编码的能力。本书也适合需要快速切入Python编程语言的技术人员。

本书特色

(1)完全零基础入门,不需要任何前置知识

针对入门读者,将概念通俗化地解释出来,针对Python语法,采用小示例代码演示的讲解方式,让读者演练结合,没有长篇大论,无须计算机系统基础,完全零基础入门。

(2)代码格式统一,讲解规范

书中尽可能为每个语法都提供代码演示,复杂内容提供详细流程。这样使得读者可以很清晰地知道每个技术的具体实现步骤,从而提高学习的效率。

(3)循序渐进,由浅入深

从Python安装到编辑器的使用,再到第一个Python程序,读者每个概念每一步都可以明明白白,中间没有任何门槛,技术都是平滑过渡,也非常适合自学Python。

本书内容

第1章介绍Python的历史、Python 3.8的变化,然后搭建Python开发环境,选择Python代码编辑器,并最终实现第一个Python程序。

第2章简要介绍Python语言的一些基础知识,让读者对学习一门语言有一个概要的了解,为后面学习具体的语法铺路。

第3章介绍Python语言的内置类型,包括简单类型、常量类型、序列、列表、元组、字符串、字典、集合等,这些是一门开发语言的基础,正是它们构成了程序代码的最小单元。

第4章介绍流程控制和函数。它们可以帮助我们更好地管理代码,比如有些重复代码就可以放在一个函数中,这样每次只需调用函数,无须重复编码。

第5章介绍类和对象。Python中一切皆为对象,所以了解本章内容就能更透彻地了解Python语言的基础。学完本章,读者就能看懂一点Python的源码了。

第6章介绍在Python中如何处理异常。如果要让自己的代码更安全更健壮,就必须学会异常的处理,这样当程序出错时可以更好地引导程序完成,而不是中断。

第7章介绍模块和包。很多人可能已经知道Python的包和模块多如牛毛,那么该如何导入别人的包、如何创建自己的包呢?学会本章,就能让我们看到更多Python应用的可能性。

第8章介绍元类和新型类。本章会提及很多Python 2.X和3.X的区别,让读者了解Python中类的进化,这样就能进一步熟悉Python源码了。

第9章介绍Python迭代器、生成器、装饰器的内容。这些内容有一定的难度,但非常有用,方便代码的封装,使代码看起来更简洁有力。

第10章介绍多线程。多线程的场景在现实中非常常见,比如双11时那么多人同时在线抢购一件商品,此时该如何处理程序呢?多线程的作用就体现出来了。

第11章介绍文件和目录。虽然我们平时的计算机操作中经常和文件、目录打交道,但是如何移动一个文件、如何添加文件的内容都需要靠代码和函数来实现。

第12章介绍正则表达式。针对零基础读者,本章详细介绍正则应用的概念、语法和原理,并演示Python中正则模块的各种用法。

第13章介绍网络编程。我们经常会上网、聊天,这些都是网络编程的功劳。本章不仅介绍网络编程的一些基础概念,还会使用Python实现一个简单的聊天案例。

第14章介绍urllib爬虫。爬虫的工具很多,本章讲解的并不复杂,使用Python自带的urllib模块,演示常见的爬虫方法,其他爬虫工具其实也是基于urllib的,学会了它,就可以举一反三。

第15章是Beautiful Soup爬虫实战。读者在了解多个爬虫框架的同时,能发现Beautiful Soup让复杂项目变得可行,新手入门更喜欢多个框架并行研究,找到适合自己的框架。

第16章是Scrapy爬虫实战。前面已经学习了很多urllib爬虫基础,本章则让读者了解如何利用Scrapy框架简化自己的爬取项目工作。

源码下载与技术支持

本书配套的源码和开发工具,请扫描右边二维码获取。如果下载有问题或者阅读中发现问题,请联系booksaga@163.com,邮件主题为   “Python 3.8编程快速入门”。

本书读者

? Python与网络爬虫初学者

? Python网络爬虫开发人员

? 其他语言转行Python的程序员

? 高等院校和培训学校的师生

编  者

2020年6月

目录

目    录

第1章  Python简介 1

1.1  Python的历史 1

1.2  为什么使用Python 2

1.3  搭建Python 3.8开发环境 2

1.3.1  安装Python 3.8 2

1.3.2  运行Python 6

1.3.3  选择Python IDE——IDLE 7

1.3.4  选择Python IDE——PyCharm 8

1.4  开始编程:第一个Python Hello World 13

1.5  Python语言特性 16

1.5.1  Python的缩进 16

1.5.2  Python的序列 18

1.5.3  对各种编程模式的支持 18

1.5.4  Python的动态性 19

1.5.5  匿名函数、嵌套函数 21

1.5.6  Python自省 21

1.6  Python 3.8的新增功能 21

1.7  本章小结 22

第2章  Python基础知识 23

2.1  Python的基础简介 23

2.1.1  启动Python解释器 23

2.1.2  数值类型 24

2.1.3  字符串 25

2.1.4  列表 27

2.1.5  流程控制 29

2.1.6  函数 31

2.2  开始编程:九九乘法表 32

2.2.1  九九乘法表 32

2.2.2  编程思路 32

2.2.3  编程实现 33

2.2.4  运行Python程序 34

2.3  本章小结 36

第3章  Python的内置类型 37

3.1  Python的类型分类 37

3.2  简单类型 38

3.2.1  布尔类型 39

3.2.2  整数类型 42

3.2.3  浮点数类型 43

3.2.4  复数类型 43

3.2.5  None类型 43

3.3  简单类型的运算 44

3.4  常量类型 45

3.5  序列类型 46

3.6  列表类型 46

3.6.1  创建list 46

3.6.2  list的元素访问 47

3.6.3  列表运算 47

3.6.4  列表的方法 50

3.6.5  列表的内置函数 53

3.6.6  列表推导式 54

3.7  元组类型 54

3.8  字符串类型 57

3.9  字典类型 60

3.9.1  字典的创建 60

3.9.2  字典的操作 61

3.10  集合类型 63

3.10.1  集合的创建 63

3.10.2  集合的方法和运算 63

3.11  开始编程:文本统计和比较 64

3.11.1  需求说明 64

3.11.2  需求分析 64

3.11.3  整体思路 64

3.11.4  具体实现 65

3.11.5  文本读写 67

3.11.6  命令行参数 67

3.11.7  程序入口 69

3.11.8  运行效果 71

3.12  本章小结 71

第4章  流程控制和函数 73

4.1  流程控制 73

4.1.1  选择结构 73

4.1.2  for循环结构 75

4.1.3  while循环结构 76

4.2  函数 79

4.2.1  函数的定义 80

4.2.2  函数的参数 80

4.2.3  函数调用和返回 83

4.2.4  lambda函数 84

4.2.5  嵌套函数 86

4.2.6  函数的作用域 86

4.3  开始编程:八皇后算法 87

4.3.1  八皇后问题 87

4.3.2  问题分析 88

4.3.3  程序设计 89

4.3.4  问题深入 91

4.3.5  问题总结 92

4.4  本章小结 94

第5章  类和对象 95

5.1  面向对象 95

5.1.1  面向对象的历史 95

5.1.2  面向对象概述 95

5.1.3  面向对象小结 97

5.2  Python类和对象 98

5.2.1  类的定义 98

5.2.2  类的实例化 99

5.2.3  类的方法 100

5.2.4  类的特殊方法 102

5.2.5  类的继承 103

5.2.6  类的关联和依赖 108

5.2.7  类的聚合和组合 109

5.2.8  类的关系 110

5.3  开始编程:自动打印字符图案 111

5.3.1  需求分析和设计 111

5.3.2  程序开发 114

5.3.3  程序入口 120

5.4  本章小结 121

第6章  异常捕获和抛出 122

6.1  异常处理 122

6.1.1  Traceback异常信息 123

6.1.2  捕获异常 124

6.1.3  多重异常处理 125

6.1.4  异常的参数 129

6.1.5  内置异常类型 130

6.1.6  抛出异常 132

6.1.7  自定义异常类型 134

6.2  开始编程:计算机猜数 135

6.2.1  计算机猜数程序 135

6.2.2  需求分析 136

6.2.3  算法分析 137

6.2.4  编程实现 139

6.2.5  异常处理 141

6.2.6  异常类定义 142

6.2.7  抛出和捕获异常 143

6.3  本章小结 144

第7章  模块和包 145

7.1  模块 145

7.1.1  Python模块 145

7.1.2  导入模块 146

7.1.3  查找模块 148

7.1.4  模块编译 149

7.2  包 149

7.2.1  Python包 149

7.2.2  包的导入 150

7.2.3  内嵌包 151

7.3  本章小结 152

第8章  元类和新型类 153

8.1  元类 153

8.1.1  类工厂 153

8.1.2  初识元类 154

8.1.3  设置类的元类属性 156

8.1.4  元类的魔力 157

8.1.5  面向方面和元类 158

8.1.6  元类的小结 159

8.2  新型类 159

8.2.1  新型类和传统类的区别 160

8.2.2  类方法和静态方法 160

8.2.3  新型类的特定方法 162

8.2.4  新型类的特定属性 164

8.2.5  类的super()方法 165

8.2.6  新型类的小结 167

8.3  本章小结 167

第9章  迭代器、生成器和修饰器 168

9.1  迭代器和生成器 168

9.1.1  迭代器的概念 168

9.1.2  生成器的概念 170

9.1.3  生成器yield语法 171

9.1.4  生成器的用途 175

9.2  修饰器 177

9.2.1  修饰器模式 177

9.2.2  Python修饰器 178

9.2.3  修饰器函数的定义 179

9.2.4  修饰器的应用 180

9.3  本章小结 182

第10章  多线程 183

10.1  线程的概念 183

10.2  创建多线程 184

10.2.1  通过threading.Thread()创建 184

10.2.2  通过继承threading.Thread类创建 185

10.3  主线程 186

10.4  阻塞线程 188

10.5  判断线程是否是活动的 189

10.6  线程同步 191

10.6.1  同步的概念 191

10.6.2  Python中的锁 191

10.6.3  Python中的条件锁 192

10.7  本章小结 196

第11章  文件与 197

11.1  文件的处理 197

11.1.1  获取系统类型 197

11.1.2  获取系统环境 198

11.1.3  执行系统命令 200

11.1.4  操作及文件 200

11.2  文件和的高级处理 206

11.2.1  复制文件 206

11.2.2  移动文件 208

11.2.3  读取压缩及归档压缩文件 208

11.2.4  解压文件 209

11.3  开始编程:文件处理实战 209

11.4  本章小结 212

第12章  正则表达式 213

12.1  正则表达式简介 213

12.1.1  正则表达式概念 213

12.1.2  正则表达式构成 214

12.2  re模块的简单应用 215

12.3  常用正则表达式 220

12.3.1  常用数字表达式的校验 220

12.3.2  常用字符表达式的校验 221

12.3.3  特殊需求表达式的校验 223

12.4  本章小结 225

第13章  网络编程 226

13.1  网络编程理论基础 226

13.1.1  网络协议 226

13.1.2  IP地址与端口 228

13.1.3  socket套接字 229

13.2  使用TCP的服务器与客户端 235

13.2.1  TCP工作原理 235

13.2.2  TCP服务器的实现 236

13.2.3  TCP客户端的实现 238

13.3  使用UDP的服务器与客户端 240

13.3.1  UDP工作原理 240

13.3.2  UDP服务器的实现 240

13.3.3  UDP客户端的实现 241

13.4  开始编程:网络聊天程序 242

13.5  本章小结 246

第14章  urllib爬虫 247

14.1  urllib、urllib2、urllib3的不同 247

14.2  urllib3中的request模块 250

14.2.1  对URL的访问 250

14.2.2  Request类 255

14.2.3  其他类 258

14.3  request引发的异常 259

14.4  解析URL的parse模块 260

14.4.1  URL解析 260

14.4.2  URL转义 264

14.5  分析robots.txt文件 267

14.6  本章小结 268

第15章  网页爬虫实战 269

15.1  获取页面源码 269

15.1.1  从网页获取数据 269

15.1.2  转换编码UTF-8 270

15.1.3  添加关键字进行搜索 271

15.2  过滤数据 272

15.2.1  Beautiful Soup简介 272

15.2.2  Beautiful Soup的使用 273

15.3  数据保存 274

15.3.1  保存数据到本地文本 274

15.3.2  保存数据到数据库 275

15.4  本章小结 276

第16章  Scrapy爬虫 277

16.1  安装Scrapy 277

16.1.1  在Windows下安装Scrapy 277

16.1.2  在Linux下安装Scrapy 279

16.2  Scrapy选择器XPath和CSS 280

16.2.1  XPath选择器 280

16.2.2  CSS选择器 284

16.2.3  其他选择器 286

16.3  Scrapy爬虫实战:今日影视 286

16.3.1  创建Scrapy项目 286

16.3.2  Scrapy文件介绍 288

16.3.3  选择爬取的项目 290

16.3.4  定义如何爬取 291

16.3.5  保存爬取的结果 295

16.3.6  分派任务 296

16.4  本章小结 298

作者简介

编辑推荐

Python是目前流行的编程语言,广泛应用在人工智能、大数据分析处理、机器学习与深度学习、金融量化交易、网络开发、服务器编程、Web编程、运维自动化、物联网等领域。很多领域的新人都急切希望找到一本容易上手的Python入门书。本书就是一本针对零基础读者的Python入门书,书中所有的知识点都通过小示例进行讲解,引导读者快速掌握Python与网络爬虫编程技能,获得生产力。

作者寄语

薛燚,某IT公司项目经理,有二十多年软件开发经验和项目管理经验。

电子资料

www.luweidong.cn

下一个