编辑推荐

Python语言因其具有丰富且强大的库,以及简单容易上手的特性,目前几乎活跃在所有的技术领域,包括人工智能、大数据分析处理、机器学习与深度学习、金融量化交易、网络开发、服务器编程、Web编程、运维自动化、物联网等领域。越来越多的新人都急切希望找到一本容易上手的Python入门书。《Python 3.6零基础入门与实战》就能满足零基础读者的Python需求,书中所有的知识点都通过大小示例让读者反复练习,激发读者学习兴趣,快速掌握Python编程技巧,获得生产力。

内容简介

随着大数据技术的发展及Python在人工智能领域的火热应用,Python得到越来越多的应用。《Python 3.6零基础入门与实战》就是在这个背景下编写的,是一本Python3.6入门教材,特别适合想直接切入爬虫编程及大数据分析处理的读者学习使用。《Python 3.6零基础入门与实战》赠送示例源代码与教学视频。

Python 3.6零基础入门与实战》分为16章,主要内容包括开发环境、数据结构、函数、面向对象、多线程、模块、包、GUI模块、图形模块、正则模块、文件处理模块、网络编程模块和爬虫模块等,并且为每个模块提供了实战示例,最后用两章来介绍数据库编程实战和爬虫框架实战。

Python 3.6零基础入门与实战》内容详尽、示例丰富,适合广大Python入门读者和Python开发人员阅读,同时也可作为高等院校和培训学校计算机相关专业的师生教学参考。

作者简介

王启明,平顶山学院老师,主讲软件基础语言C和Python,目前是学校信息化小组的主要带头人,计算机教研组组长。长期工作在教学第一线,承担了本科生教学及毕业设计任务。C和Python课收到学生好评。

目录

第1章搭建Python开发环境1

1.1Python的版本说明1

1.2Python的安装2

1.2.1Windows下安装Python2

1.2.2Linux下安装Python6

1.3打开Python的方式8

1.4交互模式解释器9

1.5第一个Python程序HelloWorld10

1.5.1交互式10

1.5.2脚本式10

1.6Python开发工具11

1.6.1Python自带集成开发环境IDEL11

1.6.2安装PyCharm集成开发环境14

1.6.3使用PyCharm集成开发环境21

1.7注意Python的缩进22

第2章Python中的数据与结构24

2.1Python中的标准数据类型24

2.2变量25

2.3数字26

2.3.1使用整型26

2.3.2使用浮点型27

2.3.3使用布尔型28

2.3.4使用复数型29

2.4字符串29

2.4.1字符串的单引号、双引号、三引号29

2.4.2字符串的截取30

2.4.3字符串的拼接31

2.4.4字符串的各种常用运算符32

2.4.5字符串的转义33

2.4.6字符串的格式化符号34

2.4.7字符串的内置函数37

2.5列表39

2.5.1使用列表39

2.5.2访问列表40

2.5.3列表常用的内置函数41

2.5.4列表排序43

2.5.5删除列表44

2.5.6获取列表中的最大值和最小值45

2.5.7列表常用运算符45

2.6元组46

2.6.1使用元组46

2.6.2访问元组47

2.6.3元组常用的内置函数47

2.6.4删除元组48

2.6.5获取元组中的最大值和最小值48

2.6.6元组常用运算符48

2.6.7元组与列表的转换49

2.7字典49

2.7.1使用字典49

2.7.2访问字典50

2.7.3字典常用的内置函数50

2.7.4删除字典52

2.7.5字典常用运算符53

2.8集合53

2.8.1使用集合54

2.8.2集合常用的内置函数54

2.8.3集合常用运算符(交集、并集、差集、对称差集)56

2.9推导式57

2.9.1初识推导57

2.9.2嵌套推导58

2.10数据结构实战:文本统计分析59

2.10.1文本统计功能59

2.10.2文本比较功能60

第3章结构语句62

3.1顺序、选择和循环62

3.1.1顺序结构62

3.1.2选择结构63

3.1.3循环结构64

3.2用if选择64

3.2.1选择语句格式65

3.2.2选择语句详解66

3.2.3选择语句的嵌套66

3.3用while循环67

3.3.1while语句基本格式67

3.3.2while语句的应用68

3.3.3无限循环(死循环)69

3.3.4带else的while循环70

3.4用for循环71

3.4.1for语句基本格式71

3.4.2for语句的应用71

3.4.3for与range结合遍历数字序列72

3.5中断语句break、continue73

3.5.1break语句73

3.5.2continue语句74

3.6循环实战:九九乘法表75

第4章函数77

4.1使用函数77

4.1.1定义函数77

4.1.2函数的返回值78

4.1.3函数的嵌套78

4.2函数的参数79

4.2.1形参、实参79

4.2.2必要参数79

4.2.3有默认值的参数80

4.2.4关键字参数81

4.2.5不定长参数(可变参数)82

4.2.6各种参数组合83

4.3全局变量、局部变量83

4.3.1全局和局部的概念83

4.3.2函数中局部变量的作用域84

4.3.3global全局变量84

4.4匿名函数85

4.4.1使用匿名函数85

4.4.2匿名函数的参数默认值86

4.5函数实战:八皇后问题86

第5章面向对象编程92

5.1面向对象基础92

5.2定义与使用类93

5.2.1类的定义93

5.2.2类的构造方法和析构方法94

5.2.3类的私有属性95

5.2.4类的私有方法96

5.2.5一个完整的类96

5.3类与类的关系97

5.3.1单继承98

5.3.2多继承99

5.3.3类的关联和依赖99

5.3.4类的聚合和复合101

5.4重写102

5.5魔术方法102

5.5.1魔术方法的概念102

5.5.2魔术方法的应用103

5.6迭代器106

5.7生成器107

5.7.1生成器的概念107

5.7.2生成器的应用107

5.8装饰器108

5.8.1装饰器基础108

5.8.2不带参数的装饰器109

5.8.3带参数的装饰器110

5.8.4多个装饰器装饰一个函数111

5.9上下文管理器与with语句112

5.9.1上下文管理器的几个概念112

5.9.2上下文管理器的应用113

5.9.3自定义上下文管理器113

5.10面向对象实战:数字图形114

5.10.1需求分析114

5.10.2程序开发118

5.10.3程序入口123

第6章程序异常与调试124

6.1识别异常124

6.1.1异常的概念124

6.1.2语法引出的异常125

6.1.3运行时引出的异常125

6.1.4分析异常提示信息125

6.2Python中处理异常的语法126

6.3处理异常的细节127

6.3.1except语句的多种形式127

6.3.2抛出异常(引发异常)raise130

6.4自定义异常130

6.5调试程序131

6.5.1IDLE的简单调试131

6.5.2利用日志模块logging调试132

6.5.3利用pdb调试133

6.6异常实战:计算机猜数135

6.6.1需求分析135

6.6.2算法分析136

6.6.3编程实现138

6.6.4异常处理141

6.6.5异常类定义141

6.6.6抛出和捕获异常142

第7章多线程145

7.1线程的概念145

7.2创建多线程146

7.2.1通过threading.Thread()创建线程146

7.2.2通过继承threading.Thread类创建线程147

7.3主线程148

7.4阻塞线程149

7.5判断线程是否是活动的150

7.6线程同步152

7.6.1同步的概念152

7.6.2Python中的锁153

7.6.3Python中的条件锁153

第8章模块和包157

8.1模块157

8.1.1标准库中的模块157

8.1.2查看模块的代码158

8.2导入模块160

8.2.1最简单的导入160

8.2.2from…import语句161

8.2.3from…import*语句162

8.2.4导入自定义的模块162

8.3包163

8.3.1包和模块的区别163

8.3.2包的结构164

8.3.3导入自定义的包164

8.4命名空间165

8.4.1命名空间166

8.4.2全局命名空间167

8.4.3局部命名空间168

8.4.4命名空间和类169

8.4.5命名空间和类的实例化170

8.4.6命名空间和类的继承172

第9章Tkinter模块——图形界面编程174

9.1Tkinter模块174

9.1.1Tkinter模块的HelloWorld程序175

9.1.2tkinter包介绍177

9.1.3主窗口178

9.2Tkinter控件179

9.2.1控件的介绍179

9.2.2控件的特性181

9.2.3Tkinter几何管理器182

9.2.4Tkinter事件及回调185

9.3Tkinter实战186

9.3.1创建主窗口186

9.3.2添加菜单栏及菜单选项186

9.3.3添加下拉菜单188

9.3.4实现简单记事本190

第10章re模块——正则表达式193

10.1正则表达式简介193

10.1.1正则表达式概念193

10.1.2正则表达式构成194

10.2re模块的简单应用196

10.3常用正则表达式199

10.3.1常用数字表达式的校验200

10.3.2常用字符表达式的校验202

10.3.3特殊需求表达式的校验203

第11章os模块与shutil模块——文件处理206

11.1os模块206

11.1.1获取系统类型206

11.1.2获取系统环境207

11.1.3执行系统命令208

11.1.4操作目录及文件209

11.2shutil模块214

11.2.1复制文件214

11.2.2移动文件216

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

11.2.4解压文件217

11.3文件处理实战217

第12章PIL(Pillow)模块——图像实战220

12.1Pillow库简介与安装220

12.1.1Pillow库的介绍221

12.1.2Pillow库的安装221

12.2Image类的使用222

12.2.1Image类的属性222

12.2.2Image类的函数223

12.3图像的基本合成231

12.3.1调用Image.composite接口231

12.3.2调用Image.blend接口232

12.3.3调用Image.paste接口232

12.4图像的变换233

12.4.1图像格式及尺寸变换233

12.4.2图像通道变换234

12.4.3图像几何变换235

12.4.4图像变换成OpenCV格式235

12.5图像处理实战236

第13章socket模块——网络编程237

13.1网络编程基础237

13.1.1网络协议237

13.1.2IP地址与端口239

13.1.3socket240

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

13.2.1TCP工作原理246

13.2.2TCP服务器的实现247

13.2.3TCP客户端的实现248

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

13.3.1UDP工作原理251

13.3.2UDP服务器的实现251

13.3.3UDP客户端的实现252

13.4网络编程实战253

第14章urllib工具包——网络爬虫编程257

14.1urllib、urllib2与urllib3的异同257

14.2request模块259

14.2.1urlopen()、build_opener()和build_opener()方法260

14.2.2Request类263

14.2.3其他类266

14.3error模块267

14.4parse模块268

14.4.1URL解析268

14.4.2URL转义271

14.5robotparser模块274

14.6urllib网络爬虫实战275

第15章Python数据库编程实战278

15.1操作SQLite278

15.1.1创建SQLite数据库278

15.1.2创建SQLite数据表279

15.1.3为数据表添加数据280

15.1.4查询数据280

15.1.5更新数据281

15.1.6删除数据281

15.1.7connect和cursor的各种函数281

15.2操作MySQL282

15.2.1安装PyMySQL库282

15.2.2连接MySQL数据库283

15.2.3增、删、查、改数据284

15.3使用ORM框架SQLAlchemy操作MySQL284

15.3.1ORM的意义285

15.3.2安装SQLAlchemy285

15.3.3导入SQLAlchemy286

15.3.4使用SQLAlchemy操作数据库286

第16章Scrapy爬虫实战288

16.1安装Scrapy288

16.1.1Windows下安装Scrapy环境288

16.1.2Linux下安装Scrapy289

16.1.3vim编辑器290

16.2Scrapy选择器XPath和CSS291

16.2.1XPath选择器291

16.2.2CSS选择器294

16.2.3其他选择器295

16.3天气预报项目296

16.3.1项目准备296

16.3.2创建编辑Scrapy爬虫297

16.3.3数据存储到json303

16.3.4数据存储到MySQL305

前言/序言

  前言
  不管你从事的是什么行业,进行数据分析也好,开发网页也好,做数据库后台编程也好,做股票分析也好,Python都是你必须学会的一门语言。市场上有很多图书,随Python版本的升级会显得比较旧,讲解方式也比较费解。《Python 3.6零基础入门与实战》选择比较新的Python3.6.4版本用初学者容易上手的示例学习方法进行讲解,《Python 3.6零基础入门与实战》逻辑线索清晰,方便读者轻松入门。
  《Python 3.6零基础入门与实战》特色
  如何快速学习Python编程一直是很多初学者的疑问,网上的资料很多,但不系统,很多系统的教程又过于偏重讲解,示例较少,让初学者很难坚持。因此,对于很多入门读者,更好的方式是先学习基础的Python语法,然后学习各种常见模块,最后在实践中完善代码编写技巧。学习过程中贯穿大小示例,方便读者对知识点做实践,基于这种想法,笔者编写了《Python 3.6零基础入门与实战》。《Python 3.6零基础入门与实战》特色如下:
  1.上手门槛低,完全无基础也可入门
  作为入门图书,不会涉及计算机原理、操作系统等枯燥内容,读者可以没有这方面的基础,《Python 3.6零基础入门与实战》提供详细的开发环境搭建步骤及编程技巧讲解,手把手指导读者入门Python。
  2.多个操作系统版本介绍,Linux、Windows、MacOS都可以轻松学习
  当前流行的操作系统各异,有些读者喜欢Linux,有些公司提供MacOS,更多的是常见的Windows,《Python 3.6零基础入门与实战》很多案例都会提供不同操作系统的介绍,让读者了解Python的跨平台特性,在任何操作系统下都可轻松学习。
  3.多个上手小示例,几乎每章最后都有应用实战,让读者综合练习,学完就会
  读者学会了Python语法,只是了解了如何写Python代码,但是如何用Python解决问题却需要很多项目来练手。《Python 3.6零基础入门与实战》几乎每章最后都提供或小或大的实战案例,让读者既学会语法也学会编程。
  代码、教学视频下载
  《Python 3.6零基础入门与实战》配套的示例代码与教学视频下载地址可以通过扫描右边的二维码获取。如果下载有问题或阅读中存在疑问,请联系booksaga@163.com,邮件主题为“Python3.6零基础入门与实战”。
  《Python 3.6零基础入门与实战》读者
  《Python 3.6零基础入门与实战》适合以下读者阅读:
  ?没有学过编程,但对Python编程感兴趣的读者
  ?有计算机语言基础,想入门Python编程的读者
  ?Python数据分析处理入门读者
  ?机器学习入门读者
  ?网络爬虫爱好者
  ?初级网络管理员
  ?企业网络运维人员
  《Python 3.6零基础入门与实战》作者
  《Python 3.6零基础入门与实战》由王启明、罗从良编著,其中第1~8章、第15~16章由平顶山学院信息工程学院的王启明编写,第9~14章由罗从良编写,其他参与创作的还有王晓华、刘鑫、陈素清、常新峰、林龙、王亚飞、薛燚、王刚、吴贵文、李雷霆、李一鸣、谢志强,排名不分先后。
  编者
  2018年8月

其他推荐