您好,欢迎来到聚文网。 登录 免费注册
疯狂Python讲义

疯狂Python讲义

  • 字数: 1184千字
  • 装帧: 平装
  • 出版社: 电子工业出版社
  • 作者: 李刚
  • 出版日期: 2019-01-01
  • 商品条码: 9787121351976
  • 版次: 1
  • 开本: 16开
  • 页数: 624
  • 出版年份: 2019
定价:¥118 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
  
内容简介
本书全面而深入介绍了Python编程的相关内容,全书内容大致可分为四个部分,靠前部分系统讲解了Python的基本语法结构、函数编程、类和对象、模块和包、异常处理等;第二部分主要介绍Python常用的内置模块和包,这部分包括正则表达式支持IO编程、数据库编程、并发编程、网络通信编程等内容;第三部分主要介绍Python开发工程化方面的内容;第四部分则属于“Python项目实战”,这部分通过项目介绍了Python游戏开发、大数据展示、网络爬虫等热门技能,尤其是网络爬虫和大数据展示,均是当下Python很热的就业岗位。
作者简介
   李刚,十多年软件行业开发从业经验,疯狂软件教育中心教学总监。

疯狂Java实训营创始人,疯狂Java体系原创图书作者。

广东技术师范学院计算机科学系兼职副教授,51CTO专家门诊特邀嘉宾。

培训的学生已在华为、IBM、阿里软件、网易、电信盈科等名企就职。

靠前有名高端IT技术作家,已出版《疯狂Java讲义》《疯狂Android讲义》《轻量级JavaEE企业应用实战》《疯狂iOS讲义(上)(下)》《疯狂Ajax讲义》《疯狂XML讲义》《经典JavaEE企业应用实战》《疯狂HTML5/CSS3/JavaScript讲义》《Struts2.x非常不错指南》等著作。其中疯狂Java体系图书经多年沉淀,赢得极高的市场认同,多次重印成为不错畅销书,并被多所“985”“211”院校选作教材。部分图书已被翻译成繁体中文版、授权到台湾地区地区。
目录
   第1章Python语言概述和开发环境1

1.1Python简介2

1.1.1Python简史2

1.1.2Python的特点3

1.2Python程序运行机制3

1.3开发Python的准备4

1.3.1在Windows上安装Python4

1.3.2在Linux上安装Python6

1.3.3在Mac OS X上安装Python7

1.4第一个Python程序7

1.4.1编辑Python源程序7

1.4.2使用IDLE运行Python程序8

1.4.3使用命令行工具运行Python程序8

1.5交互式解释器10

1.6本章小结11

本章练习11

第2章变量和简单类型12

2.1单行注释和多行注释13

2.2变量14

2.2.1Python是弱类型语言14

2.2.2使用print函数输出变量15

2.2.3变量的命名规则16

2.2.4Python的关键字和内置函数17

2.3数值类型18

2.3.1整型18

2.3.2浮点型20

2.3.3复数20

2.4字符串入门21

2.4.1字符串和转义字符21

2.4.2拼接字符串22

2.4.3repr和字符串22

2.4.4使用input和raw_input获取用户输入23

2.4.5长字符串24

2.4.6原始字符串24

2.4.7字节串(bytes)25

2.5深入使用字符串27

2.5.1转义字符27

2.5.2字符串格式化27

2.5.3序列相关方法29

2.5.4大小写相关方法30

2.5.5删除空白32

2.5.6查找、替换相关方法32

2.5.7分割、连接方法34

2.6运算符34

2.6.1赋值运算符34

2.6.2算术运算符35

2.6.3位运算符37

2.6.4扩展后的赋值运算符40

2.6.5索引运算符40

2.6.6比较运算符与bool类型40

2.6.7逻辑运算符41

2.6.8三目运算符42

2.6.9in运算符44

2.6.10运算符的结合性和优先级44

2.7本章小结45

本章练习45

第3章列表、元组和字典46

3.1序列简介47

3.1.1Python的序列47

3.1.2创建列表和元组47

3.2列表和元组的通用用法48

3.2.1通过索引使用元素48

3.2.2子序列48

3.2.3加法49

3.2.4乘法49

3.2.5in运算符50

3.2.6长度、优选值和最小值50

3.2.7序列封包和序列解包51

3.3使用列表52

3.3.1创建列表52

3.3.2增加列表元素53

3.3.3删除列表元素54

3.3.4修改列表元素55

3.3.5列表的其他常用方法56

3.4使用字典58

3.4.1字典入门58

3.4.2创建字典58

3.4.3字典的基本用法59

3.4.4字典的常用方法60

3.4.5使用字典格式化字符串63

3.5本章小结63

本章练习64

第4章流程控制65

4.1顺序结构66

4.2if分支结构66

4.2.1不要忘记缩进67

4.2.2不要随意缩进69

4.2.3不要遗忘冒号70

4.2.4if条件的类型70

4.2.5if分支的逻辑错误71

4.2.6if表达式72

4.2.7pass语句72

4.3断言73

4.4循环结构73

4.4.1while循环73

4.4.2使用while循环遍历列表和元组74

4.4.3for-in循环75

4.4.4使用for-in循环遍历列表和元组76

4.4.5使用for-in循环遍历字典77

4.4.6循环使用else78

4.4.7嵌套循环79

4.4.8for表达式80

4.4.9常用工具函数82

4.5控制循环结构83

4.5.1使用break结束循环83

4.5.2使用continue忽略本次循环的剩下语句85

4.5.3使用return结束方法85

4.6牛刀小试86

4.6.1数字转人民币读法86

4.6.2绕圈圈87

4.6.3控制台五子棋89

4.6.4控制台超市系统90

4.7本章小结94

本章练习94

第5章函数和lambda表达式97

5.1函数入门98

5.1.1理解函数98

5.1.2定义函数和调用函数99

5.1.3为函数提供文档100

5.1.4多个返回值100

5.1.5递归函数101

5.2函数的参数102

5.2.1关键字(keyword)参数102

5.2.2参数默认值103

5.2.3参数收集(个数可变的参数)105

5.2.4逆向参数收集106

5.2.5函数的参数传递机制107

5.2.6变量作用域111

5.3局部函数113

5.4函数的高级内容114

5.4.1使用函数变量115

5.4.2使用函数作为函数形参115

5.4.3使用函数作为返回值116

5.5局部函数与lambda表达式117

5.5.1回顾局部函数117

5.5.2使用lambda表达式代替局部函数118

5.6本章小结119

本章练习119

第6章类和对象120

6.1类和对象121

6.1.1定义类121

6.1.2对象的产生和使用122

6.1.3对象的产生和使用123

6.1.4实例方法和自动绑定self124

6.2方法126

6.2.1类也能调用实例方法126

6.2.2类方法与静态方法128

6.2.3@函数装饰器128

6.2.4再论类命名空间131

6.3成员变量131

6.3.1类变量和实例变量131

6.3.2使用property函数定义属性134

6.4隐藏和封7

6.5类的继承139

6.5.1继承的语法139

6.5.2关于多继承140

6.5.3重写父类的方法140

6.5.4使用未绑定方法调用被重写的方法141

6.5.5使用super函数调用父类的构造方法142

6.6Python的动态性143

6.6.1动态属性与__slots__144

6.6.2使用type()函数定义类145

6.6.3使用metaclass146

6.7多态147

6.7.1多态性147

6.7.2检查类型149

6.8枚举类150

6.8.1枚举入门150

6.8.2枚举的构造器152

6.9本章小结153

本章练习153

第7章异常处理154

7.1异常概述155

7.2异常处理机制156

7.2.1使用try...except捕获异常156

7.2.2异常类的继承体系157

7.2.3多异常捕获159

7.2.4访问异常信息160

7.2.5else块161

7.2.6使用finally回收资源163

7.2.7异常处理嵌套165

7.3使用raise引发异常165

7.3.1引发异常165

7.3.2自定义异常类166

7.3.3except和raise同时使用167

7.3.4raise不需要参数168

7.4Python的异常传播轨迹168

7.5异常处理规则170

7.5.1不要过度使用异常171

7.5.2不要使用过于庞大的try块172

7.5.3不要忽略捕获到的异常172

7.6本章小结172

本章练习173

第8章Python类的特殊方法174

8.1常见的特殊方法175

8.1.1重写__repr__方法175

8.1.2析构方法:__del__176

8.1.3__dir__方法177

8.1.4__dict__属性178

8.1.5__getattr__、__setattr__等178

8.2与反射相关的属性和方法180

8.2.1动态操作属性180

8.2.2__call__属性182

8.3与序列相关的特殊方法183

8.3.1序列相关方法183

8.3.2实现迭代器185

8.3.3扩展列表、元组和字典186

8.4生成器186

8.4.1创建生成器187

8.4.2生成器的方法189

8.5运算符重载的特殊方法191

8.5.1与数值运算符相关的特殊方法191

8.5.2与比较运算符相关的特殊方法194

8.5.3与单目运算符相关的特殊方法195

8.5.4与类型转换相关的特殊方法196

8.5.5与常见的内建函数相关的特殊方法197

8.6本章小结198

本章练习198

第9章模块和包199

9.1模块化编程200

9.1.1导入模块的语法200

9.1.2定义模块203

9.1.3为模块编写说明文档203

9.1.4为模块编写测试代码204

9.2加载模块205

9.2.1使用环境变量205

9.2.2默认的模块加载路径208

9.2.3导入模块的本质209

9.2.4模块的__all__变量211

9.3使用包212

9.3.1什么是包212

9.3.2定义包212

9.3.3导入包内成员214

9.4查看模块内容216

9.4.1模块包含什么216

9.4.2使用__doc__属性查看文档217

9.4.3使用__file__属性查看模块的源文件路径218

9.5本章小结218

本章练习218

第10章常见模块219

10.1sys220

10.1.1获取运行参数222

10.1.2动态修改模块加载路径223

10.2os模块223

10.3random225

10.4time227

10.5JSON支持230

10.5.1JSON的基本知识230

10.5.2Python的JSON支持232

10.6正则表达式236

10.6.1Python的正则表达式支持236

10.6.2正则表达式旗标241

10.6.3创建正则表达式242

10.6.4子表达式244

10.6.5贪婪模式与勉强模式246

10.7容器相关类247

10.7.1set和frozenset248

10.7.2双端队列(deque)250

10.7.3Python的堆操作253

10.8collections下的容器支持255

10.8.1ChainMap对象255

10.8.2Counter对象257

10.8.3defaultdict对象260

10.8.4namedtuple工厂函数261

10.8.5OrderedDict对象262

10.9函数相关模块264

10.9.1itertools模块的功能函数264

10.9.2functools模块的功能函数267

10.10本章小结273

本章练习273

第11章图形界面编程275

11.1Python的GUI库276

11.2Tkinter GUI编程的组件277

11.3布局管理器283

11.3.1Pack布局管理器283

11.3.2Grid布局管理器285

11.3.3Place布局管理器287

11.4事件处理288

11.4.1简单的事件处理289

11.4.2事件绑定289

11.5Tkinter常用组件293

11.5.1使用ttk组件293

11.5.2Variable类294

11.5.3使用compound选项295

11.5.4Entry和Text组件297

11.5.5Radiobutton和Checkbutton组件300

11.5.6Listbox和Combobox组件303

11.5.7Spinbox组件308

11.5.8Scale和LabeledScale组件309

11.5.9Labelframe组件312

11.5.10Panedwindow组件314

11.5.11OptionMenu组件316

11.6对话框(Dialog)318

11.6.1普通对话框318

11.6.2自定义模式、非模式对话框320

11.6.3输入对话框322

11.6.4文件对话框324

11.6.5颜色选择对话框326

11.6.6消息框327

11.7菜单330

11.7.1窗口菜单330

11.7.2右键菜单334

11.8在Canvas中绘图336

11.8.1Tkinter Canvas的绘制功能336

11.8.2操作图形项的标签343

11.8.3操作图形项345

11.8.4为图形项绑定事件349

11.8.5绘制动画354

11.9本章小结357

本章练习357

第12章文件I/O358

12.1使用pathlib模块操作目录359

12.1.1PurePath的基本功能360

12.1.2PurePath的属性和方法362

12.1.3Path的功能和用法363

12.2使用os.path操作目录365

12.3使用fnmatch处理文件名匹配366

12.4打开文件367

12.4.1文件打开模式367

12.4.2缓冲368

12.5读取文件369

12.5.1按字节或字符读取369

12.5.2按行读取371

12.5.3使用fileinput读取多个输入流371

12.5.4文件迭代器372

12.5.5管道输入373

12.5.6使用with语句374

12.5.7使用linecache随机读取指定行376

12.6写文件376

12.6.1文件指针的概念376

12.6.2输出内容377

12.7os模块的文件和目录函数378

12.7.1与目录相关的函数379

12.7.2与权限相关的函数380

12.7.3与文件访问相关的函数381

12.8使用tempfile模块生成临时文件和临时目录383

12.9本章小结385

本章练习385

第13章数据库编程386

13.1Python数据库API简介387

13.1.1全局变量387

13.1.2数据库API的核心类388

13.1.3操作数据库的基本流程389

13.2操作SQLite数据库389

13.2.1创建数据表390

13.2.2使用SQLite Expert工具391

13.2.3使用序列重复执行DML语句393

13.2.4执行查询395

13.2.5事务控制396

13.2.6执行SQL脚本397

13.2.7创建自定义函数398

13.2.8创建聚集函数399

13.2.9创建比较函数400

13.3操作MySQL数据库401

13.3.1下载和安装MySQL数据库401

13.3.2使用pip工具管理模块404

13.3.3执行DDL语句405

13.3.4执行DML语句407

13.3.5执行查询语句408

13.3.6调用存储过程409

13.4本章小结410

本章练习411

第14章并发编程412

14.1线程概述413

14.1.1线程和进程413

14.1.2多线程的优势414

14.2线程的创建和启动415

14.2.1调用Thread类的构造器创建线程415

14.2.2继承Thread类创建线程类417

14.3线程的生命周期418

14.3.1新建和就绪状态418

14.3.2运行和阻塞状态419

14.3.3线程死亡420

14.4控制线程421

14.4.1join线程422

14.4.2后台线程422

14.4.3线程睡眠:sleep423

14.5线程同步424

14.5.1线程安全问题424

14.5.2同步锁(Lock)425

14.5.3死锁428

14.6线程通信430

14.6.1使用Condition实现线程通信430

14.6.2使用队列(Queue)控制线程通信433

14.6.3使用Event控制线程通信434

14.7线程池436

14.7.1使用线程池437

14.7.2获取执行结果439

14.8线程相关类440

14.8.1线程局部变量440

14.8.2定时器441

14.8.3任务调度442

14.9多进程443

14.9.1使用fork创建新进程443

14.9.2使用multiprocessing.Process创建新进程444

14.9.3Context和启动进程的方式446

14.9.4使用进程池管理进程448

14.9.5进程通信449

14.10本章小结451

本章练习451

第15章网络编程452

15.1网络编程的基础知识453

15.1.1网络基础知识453

15.1.2IP地址和端口号454

15.2Python的基本网络支持455

15.2.1Python的网络模块概述455

15.2.2使用urllib.parse子模块456

15.2.3使用urllib.request读取资源459

15.2.4管理cookie464

15.3基于TCP协议的网络编程467

15.3.1TCP协议基础467

15.3.2使用socket创建TCP服务器端468

15.3.3使用socket通信469

15.3.4加入多线程470

15.3.5记录用户信息472

15.3.6半关闭的socket477

15.3.7selectors模块478

15.4基于UDP协议的网络编程480

15.4.1UDP协议基础480

15.4.2使用socket发送和接收数据481

15.4.3使用UDP协议实现多点广播483

15.5电子邮件支持484

15.5.1使用smtplib模块发送邮件484

15.5.2使用poplib模块收取邮件488

15.6本章小结491

本章练习491

第16章文档和测试492

16.1使用pydoc生成文档493

16.1.1在控制台中查看文档494

16.1.2生成HTML文档495

16.1.3启动本地服务器来查看文档信息495

16.1.4查找模块496

16.2软件测试概述497

16.2.1软件测试的概念和目的497

16.2.2软件测试的分类498

16.2.3开发活动和测试活动499

16.2.4常见的Bug管理工具499

16.3文档测试500

16.4单元测试502

16.4.1单元测试概述502

16.4.2单元测试的逻辑覆盖504

16.5使用PyUnit(unittest)506

16.5.1PyUnit(unittest)的用法507

16.5.2运行测试510

16.5.3使用测试包511

16.5.4测试固件之setUp和tearDown513

16.5.5跳过测试用例515

16.6本章小结516

本章练习516

第17章打包和发布517

17.1使用zipapp模块518

17.1.1生成可执行的Python档案包518

17.1.2创建独立应用519

17.2使用PyInstaller生成可执行程序520

17.2.1安装PyInstaller520

17.2.2生成可执行程序521

17.3本章小结523

本章练习523

第18章合金弹头524

18.1合金弹头游戏简介525

18.2pygame简介525

18.2.1安装pygame526

18.2.2pygame常用的游戏API527

18.3开发游戏界面组件529

18.3.1游戏界面分析529

18.3.2实现“怪物”类529

18.3.3实现怪物管理534

18.3.4实现“子弹”类536

18.3.5加载、管理游戏图片538

18.3.6让游戏“运行”起来540

18.4增加“角色”541

18.4.1开发“角色”类541

18.4.2添加角色547

18.5合理绘制地图550

18.6增加音效551

18.7增加游戏场景554

18.8本章小结558

本章练习558

第19章数据可视化559

19.1使用Matplotlib生成数据图560

19.1.1安装Matplotlib包560

19.1.2Matplotlib数据图入门561

19.1.3管理图例562

19.1.4管理坐标轴565

19.1.5管理多个子图566

19.2功能丰富的数据图570

19.2.1饼图570

19.2.2柱状图571

19.2.3水平柱状图573

19.2.4散点图574

19.2.5等高线图576

19.2.63D图形577

19.3使用Pygal生成数据图578

19.3.1安装Pygal包578

19.3.2Pygal数据图入门578

19.3.3配置Pygal数据图580

19.4Pygal支持的常见数据图581

19.4.1折线图581

19.4.2水平柱状图和水平折线图581

19.4.3叠加柱状图和叠加折线图582

19.4.4饼图583

19.4.5点图584

19.4.6仪表(Gauge)图585

19.4.7雷达图586

19.5处理数据587

19.5.1CSV文件格式587

19.5.2JSON数据590

19.5.3数据清洗593

19.5.4读取网络数据595

19.6本章小结597

本章练习597

第20章网络爬虫598

20.1Scrapy简介599

20.1.1了解Scrapy599

20.1.2安装Scrapy600

20.2使用爬虫爬取、分析招聘信息601

20.2.1创建Scrapy项目601

20.2.2使用shell调试工具603

20.2.3Scrapy开发步骤606

20.2.4使用JSON导出信息611

20.2.5将数据写入数据库611

20.2.6使用Pygal展示招聘信息612

20.3处理反爬虫613

20.3.1使用shell调试工具分析目标站点614

20.3.2使用Scrapy爬取高清图片616

20.3.3应对反爬虫的常见方法618

20.3.4整合Selenium模拟浏览器行为620

20.4本章小结624

本章练习624

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网