技术教育社区
www.teccses.org

Python高效开发指南?Python语言核心编程

封面

作者:中公教育

页数:10,314页

出版社:陕西科学技术出版社

出版日期:2020

ISBN:9787536969308

电子书格式:pdf/epub/txt

内容简介

本书适用于致力于学习Python的“编程小白”, 通过一个个代码示例, 让初学者可以真正的从入门到精通。Python的最新主要版本是Python3, 我们在本书中将会使用它。该书共分15章, 内容包括: Python语言概述与开发环境搭建 ; Python语言基础等。

本书特色

因印刷批次不同,图书封面可能与实际展示有所区别,增值服务也可能会有所不同,以读者收到实物为准《中公版·Python高效开发指南:Python语言核心编程》体系科学,条理清晰,语言通俗易懂,讲解深入浅出,实战性强。此外,本书立足于Python基础知识,结合实际编程中所遇到的一些问题进行重点讲解,适用于Python初学者。本书适合作为通过Python基础编程进入Web开发、网络爬虫、数据分析和人工智能领域的入门教材。
本书采用双色印刷模式,图文并茂,并提供视频讲解等增值服务。在本书的重要章节提供专业讲师的讲解视频,扫描二维码即可实现在线学习,操作便捷高效,使读者在掌握Python基础知识的基础下,进一步加强实际操作的动手能力。

目录

第一章Python语言概述与开发环境搭建|1

1.1Python简介1

1.1.1Python简史1

1.1.2Python的优势3

1.1.3Python的应用领域5

1.1.4Python2和Python36

1.2安装Python7

1.2.1在Windows操作系统中安装Python7

1.2.2在Linux操作系统中安装Python9

1.2.3在Mac操作系统中安装Python10

1.3第一个Python程序:打印“Hello,world!”12

1.3.1在交互模式下打印“Hello,world!”12

1.3.2在脚本模式下打印“Hello,world!”12

1.4Python开发工具13

1.4.1IDLE13

1.4.2编辑器13

1.4.3IDE14

1.5安装Anaconda21

1.6Python模块/包的安装22

1.6.1通过命令行窗口安装模块/包22

1.6.2通过PyCharm安装模块/包24

第二章Python语言基础|25

2.1Python基础知识25

2.1.1基本数据类型25

2.1.2注释25

2.2使用Python进行算术运算26

2.2.1将Python交互模式作为计算器26

2.2.2Python交互模式不是完美的计算器27

2.2.3更多算术运算符27

2.3变量28

2.3.1变量的概念28

2.3.2变量的命名规则29

2.4字符串30

2.4.1字符串的表示30

2.4.2字符串的简单操作32

2.5内建函数32

2.5.1print()函数33

2.5.2input()函数33

2.5.3int()函数和str()函数34

2.5.4type()函数35

第三章初级流程控制|36

3.1if语句36

3.2缩进37

3.2.1缩进的作用37

3.2.2如何进行缩进38

3.3布尔值与布尔表达式39

3.3.1判断两个值是否相等39

3.3.2判断两个值是否不相等40

3.3.3更多比较运算符知识41

3.3.4逻辑运算符43

3.3.5内建函数bool()45

3.4再谈if语句46

3.4.1if-else语句46

3.4.2if-elif-else语句47

3.4.3嵌套的条件语句49

3.4.4if-else三目运算符51

3.5while循环52

3.5.1while循环语句52

3.5.2小心死循环54

3.5.3break语句54

3.5.4continue语句55

3.6for循环56

3.6.1for循环语句56

3.6.2使用range()函数58

3.6.3for循环中的break语句和continue语句59

3.6.4for-else语句60

3.7pass语句什么也不做61

3.8流程控制应用案例61

3.8.1打印乘法表61

3.8.2登录账号62

3.8.3能否组成三角形64

第四章列表和元组|65

4.1列表65

4.2索引65

4.2.1修改列表中的项67

4.2.2删除列表中的项67

4.3切片68

4.3.1超出列表范围的切片69

4.3.2切片的简写69

4.3.3指定切片的步长70

4.4其他列表操作70

4.4.1使用len()函数获取列表长度70

4.4.2检查某个值是否在列表中71

4.4.3使用“+”和“最”72

4.4.4嵌套的列表72

4.4.5使用list()函数创建列表73

4.5列表方法73

4.5.1append()方法73

4.5.2insert()方法74

4.5.3extend()方法74

4.5.4remove()方法74

4.5.5pop()方法75

4.5.6clear()方法76

4.5.7count()方法76

4.5.8index()方法76

4.5.9sort()方法77

4.5.10reverse()方法78

4.5.11copy()方法78

4.6列表推导式79

4.7基于列表的算法80

4.7.1冒泡排序算法80

4.7.2直接插入排序算法81

4.8通用序列操作81

4.8.1min()函数和max()函数82

4.8.2in和notin83

4.8.3“+”和“最”83

4.8.4索引和切片84

4.8.5len()函数84

4.8.6index()方法84

4.8.7count()方法85

4.9元组86

4.9.1创建元组86

4.9.2嵌套元组88

4.9.3元组解包88

第五章更多的字符串知识|91

5.1更多的字符串基础知识91

5.1.1字符串是不可变的序列91

5.1.2转义字符和原始字符串92

5.2格式化字符串93

5.2.1C语言printf式格式化字符串93

5.2.2使用format()方法格式化字符串95

5.2.3FormattedStringLiterals98

5.3字符串方法99

5.3.1以is开头的方法99

5.3.2split()方法100

5.3.3join()方法101

5.3.4replace()方法102

5.3.5find()方法102

5.3.6lower()方法和upper()方法103

5.3.7strip()方法104

5.3.8startswith()方法和endswith()方法104

5.4字符串应用案例105

第六章字典和集合|106

6.1字典106

6.1.1创建字典106

6.1.2访问字典中的值107

6.1.3更新字典108

6.1.4删除字典中的键-值对108

6.1.5其他字典操作108

6.1.6嵌套的字典109

6.2字典方法111

6.2.1setdefault()方法111

6.2.2keys()方法112

6.2.3values()方法113

6.2.4items()方法114

6.2.5update()方法114

6.2.6pop()方法115

6.2.7popitem()方法116

6.2.8copy()方法117

6.2.9fromkeys()方法118

6.2.10clear()方法118

6.3字典应用案例118

6.3.1双色球购买流程118

6.3.2双色球购买代码实现119

6.4集合122

6.4.1创建集合122

6.4.2添加项123

6.4.3删除项124

6.4.4检查某个项是否在集合中125

6.4.5查看集合的长度125

6.5集合方法126

6.5.1issubset()方法或“=”“>”求超集127

6.5.3union()方法或“|”求并集128

6.5.4intersection()方法或“&”求交集129

6.5.5difference()方法或“-”求差集130

6.5.6symmetric_difference()方法或“^”求对称差集130

第七章函数|132

7.1函数基础知识132

7.1.1定义函数132

7.1.2全局变量和局部变量132

7.2函数的参数135

7.2.1位置参数136

7.2.2关键字参数137

7.2.3参数的默认值138

7.2.4可变位置参数140

7.2.5可变关键字参数142

7.3函数的返回值144

7.4匿名函数与高阶函数146

7.4.1匿名函数146

7.4.2高阶函数147

7.5生成器函数152

7.6装饰器函数153

7.6.1装饰器函数的概念153

7.6.2装饰器函数应用案例157

7.7闭包函数159

7.7.1闭包函数的概念159

7.7.2闭包函数应用案例160

7.8递归函数161

7.9文档字符串162

7.9.1查看文档字符串162

7.9.2编写文档字符串166

第八章类|167

8.1面向对象的概念167

8.2初识类168

8.2.1由抽象获得类169

8.2.2定义类169

8.2.3__init__()构造方法和创建实例170

8.2.4实例属性170

8.2.5类属性173

8.2.6实例方法174

8.2.7类方法174

8.2.8类中的魔法方法176

8.2.9类中的静态方法178

8.2.10类中的私有属性和方法179

8.2.11类中的属性装饰器181

8.2.12类综合案例182

8.3类的封装185

8.4类的继承186

8.5类的多态191

8.6鸭子类型193

8.7设计模式195

8.7.1设计模式的由来195

8.7.2单例模式195

8.7.3工厂模式199

8.8类应用案例203

第九章错误和异常|212

9.1错误212

9.2异常213

9.3处理异常214

9.3.1try-except语句214

9.3.2捕获多个异常215

9.3.3捕获全部异常217

9.3.4打印异常信息218

9.3.5else语句219

9.3.6finally语句220

9.3.7raise语句221

第十章文件|222

10.1打开文件与关闭文件222

10.1.1打开文件222

10.1.2关闭文件225

10.2读写文件225

10.2.1读取文件226

10.2.2写入文件227

10.3二进制文件228

10.3.1shelve模块——Python对象持久化228

10.3.2pickle模块——Python对象序列化229

10.4JSON文件230

10.4.1JSON数据结构230

10.4.2JSON数据类型231

10.4.3Python操作JSON数据232

第十一章模块和包|234

11.1模块234

11.1.1模块搜索路径235

11.1.2import语句236

11.1.3dir()函数240

11.1.4将模块作为脚本执行241

11.2包243

11.2.1包的导入243

11.2.2初始化包245

11.2.3子包246

11.3常用内建模块248

11.3.1math模块248

11.3.2random模块250

11.3.3datetime模块251

11.3.4time模块253

11.3.5copy模块254

11.3.6re模块256

11.3.7os模块258

第十二章Python多进程和多线程|261

12.1进程和线程261

12.1.1多任务操作系统261

12.1.2进程和线程261

12.1.3多进程和多线程262

12.2多线程程序262

12.3线程锁(Lock)264

12.4PythonQueue(单向队列)267

12.5生产者-消费者模型实现多线程异步交互268

12.6multiprocessing模块270

12.7Pool进程池271

12.8进程间的通信273

第十三章Python网络开发|275

13.1TCP/IP协议275

13.2Socket编程277

13.2.1Socket概述277

13.2.2TCP客户端案例278

13.2.3TCP服务器端案例281

13.2.4UDP通信284

13.2.5网络测试工具285

第十四章Pygame基础|288

14.1安装Pygame288

14.1.1安装pip288

14.1.2安装Pygame289

14.2Pygame的基本使用290

14.2.1游戏循环和模板290

14.2.2使用Sprite(精灵)类293

第十五章飞机大战游戏开发|297

15.1游戏框架297

15.1.1游戏窗口297

15.1.2游戏循环297

15.2玩家飞机类298

15.2.1玩家飞机类的属性298

15.2.2玩家飞机类的方法299

15.3敌机类302

15.3.1敌机类的属性302

15.3.2敌机类的方法303

15.4子弹类305

15.4.1玩家飞机子弹类305

15.4.2敌机子弹类306

15.5检测碰撞函数307

15.6控制玩家飞机函数308

15.7游戏的场景309

15.7.1游戏启动界面309

15.7.2游戏结束界面310

15.7.3游戏过程界面312

节选

  第一章 Python语言概述 与开发环境搭建 1.1Python简介 1.1.1Python 简史 Python由荷兰人Guido van Rossum创建,并于1991年发布Python的第一个版本。1989年12月,“Python之父”Guido为了打发无聊的圣诞节假期,开始写Python解释器的第一个版本,当他在实现Python期间,还阅读了Monty Python抯 Flying Circus的剧本,这是一部来自20世纪70年代的BBC喜剧。Guido认为这门语言需要一个简短、独特且略显神秘的名字,因此,他决定将它命名为Python。 Python是一门开源的、面向对象的、脚本解释型的高级语言。 在介绍Python之前,先引入编程语言的分类。编程语言分为三类,分别是机器语言、汇编语言和高级语言,如图1-1所示。 图1-1编程语言分类 由0和1两个二进制代码构成的语言称为机器语言。计算机能够直接识别机器语言,但编写和调试机器语言的难度极大。由众多指令和代码编写的语言称为汇编语言。汇编语言在移植上存在很大的困难。机器语言和汇编语言都属于低级语言。用自然语言和数学语言构成的语言称为高级语言。高级语言易理解、易学习、易使用,用高级语言编写的程序可跨平台使用。根据执行方式的不同,高级语言可分为编译型语言和解释型语言。 编译型语言的代表有C、C++。编译型语言的执行流程如图1-2所示。 图1-2编译型语言的执行流程 编译型语言的执行流程:编译器将源代码逐条编译成机器代码,任何一条语句有错,都不能通过编译,终形成目标代码。程序执行,执行的是目标代码,得到用户想要的结果。以后每次执行,不需要编译,直接执行目标代码,故执行速度快。如果程序有改动,那么改动部分需要重新编译。 解释型语言的代表有Python语言、JavaScript。解释型语言的执行流程如图1-3所示。 图1-3解释型语言的执行流程 解释型语言的执行流程:解释器逐条解释源代码,成功一条就执行一条,每次执行时都需要解释,故执行速度稍慢。 解释型语言的核心是解释器。为什么使用Python解释器呢利用Python编写的程序,开发者能看得懂,但是计算机并不能识别。计算机只能识别0、1二进制代码。因此,需要将开发者编写的源代码转化为计算机能识别的目标代码,这就需要Python解释器来完成。Python采用的解释器有Cpython、PyPy、Jython等。 在了解了编程语言的基础知识之后,接下来介绍Python的发展历程。 1991年发布的Python 0.9.0是第一个版本,这个版本已经具备了异常处理、函数等基本功能,以及list、dict、str等核心数据类型,它是面向对象的,同时也拥有模块系统。 Python 1.0版本于1994年1月发布,这个版本的主要新功能是lambda、map、filter和reduce。 Python 2.0版本于2000年10月发布,这个版本的主要新功能是内存管理和循环检测垃圾收集器,以及对Unicode字符编码标准的支持。然而,重要的变化是开发流程的改变。Python 2.0有了一个更透明的社区。 Python 3.0版本于2008年12月发布。Python 3.x不向后兼容Python 2.x,这意味着Python 3.x可能无法运行Python 2.x的代码。Python 3代表着Python语言的未来。 IEEE Spectrum发布的2019年十大编程语言排行如图1-4所示。 图1-4IEEE Spectrum发布的2019年十大编程语言排行 1.1.2Python的优势 从2017年1月起,Python语言在全球大热,以Python语言为主导的深度学习算法取得重大的突破,因此,Python语言备受各行业的追捧;2017年2月,Python正式迁移到GitHub上,被广大开源软件爱好者所熟知;3月,Python被评为佳人工智能编程语言;7月,在计算机编程语言受欢迎排行榜上,Python排名第一;8月,Python被评为数据科学和机器学习的常用语言;12月,Python进入山东省小学教材、浙江省高中教材,并列入全国计算机等级考试科目。从2017年开始,国家大力推广人工智能的发展,近两年机器学习、深度学习等细分领域技术发展全面开花,促进了Python语言在全国的飞速发展。Python成为人工智能时代合适的语言,Python编程是未来职业发展第一的基本能力之一,前景不可限量。 Python的优势可以总结如下。 (1)Python开发效率更高 相较于C、C++和Java等编译/静态语言,Python的开发效率提高了数倍。完成同样一个功能,Python的代码往往只有C++或者Java代码的1/5~1/3。 (2)Python的社区很友好、很积极、很大规模 假如您有一个小众爱好,但是很难找到一起讨论的人,您的问题也很少会被人解答,因为这个圈子太小了。而Python社区十分活跃,这意味着只要有人需要帮助或支持,那么就可以去社区寻求帮助。您遇到的问题,别人也可能遇到过,很容易通过搜索引擎找到答案。 (3)Python有很多优秀的库 库可以帮助开发者节省时间并缩短开发周期。Python拥有很多优秀的库,如用于科学计算的Numpy和Scipy,用于Web开发的Django和Flask,用于网络爬虫的Requests和urllib。 基于上述优点,Python的用户群体越来越庞大。但是Python可能有且只有一个缺点,就是与C和C++这类编译语言相比,Python的执行速度不够快。不过对于大多数应用场景来说,Python的性能已经足够了,而且还有一些办法可以优化它的执行速度。 下面将Java与Python进行对比。Java语言实现I/O操作的代码如下:

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《Python高效开发指南?Python语言核心编程》
Article link:https://www.teccses.org/1171728.html