高级搜索  |  搜索帮助
最近的浏览历史
书  名:Python程序设计(第2版)
  • 作  者: 董付国
  • 出版时间: 2016-06-01
  • 出 版 社: 清华大学出版社
  • 字  数: 601 千字
  • 印  次: 2-1
  • 印  张: 24.75
  • 开  本: 16开
  • ISBN: 9787302436515
  • 装  帧: 平装
  • 定  价:¥49.00
电子书价:¥34.30 折扣:70折 节省:¥14.70 vip价:¥34.30 电子书大小:21.9M
配套资源下载:
  • 名称
  • 说明
  • 权限
  • 文件大小
  • 点击图标下载
  • 图书样章
  • 所有用户
  • 256K
  • 图书课件
  • 教师
  • 5.67M
共有商品评论0条 查看评论摘要
内容简介
  全书共19章,主要内容如下:第1章介绍Python基础知识与概念;第2章讲解列表、元组、字典、集合等常用序列结构;第3章讲解Python选择结构与循环结构;第4章讲解字符串基本操作方法与正则表达式模块re的用法;第5章讲解函数定义与使用;第6章讲解面向对象编程有关的知识;第7章讲解文本文件与二进制文件的读写,以及文件与目录操作;第8章讲解异常处理结构以及Python程序的调试与测试方法;第9章讲解标准库tkinter和扩展库wxPython的GUI应用;第10章讲解网络编程,网页内容读取,Web应用开发;第11章介绍MapReduce和Hadoop编程;第12章讲解注册表编程、GUI编程以及系统运维编程;第13章讲解多线程与多进程编程;第14章介绍SQLite、Access、MS SQL Server、MySQL访问方法;第15章讲解图形图像编程、音乐编程以及语音识别;第16章介绍逆向工程与软件分析原理、IDAPython编程、Immunity Debugger以及Windows平台软件调试原理;第17章讲解NumPy、SciPy、Matplotlib、statistics与pandas在科学计算与可视化、数据处理、统计与分析中的应用;第18章讲解安全哈希算法、对称密钥密码算法DES与AES以及非对称密钥密码算法RSA与DSA;第19章讲解安卓平台的Python程序设计。
本书对Python内部工作原理进行了一定深度的剖析,90%以上的案例均使用Python 3.5.1实现,个别案例使用Python 2.7.11实现,并适当介绍了Python程序优化和安全编程的有关知识,可以满足不同层次读者的需要。本书既可以作为计算机及相关专业学生的教材,也可以作为 Python爱好者的参考书。
前言
  Python由Guido van Rossum于1989年底开始研制,第一个公开发行版本发行于1991年。Python推出不久就迅速得到了各行业人士的青睐,经过20多年的发展,Python已经渗透到计算机科学与技术、统计分析、移动终端开发、科学计算可视化、逆向工程与软件分析、图形图像处理、人工智能、游戏设计与策划、网站开发、数据爬取与大数据处理、密码学、系统运维、音乐编程、计算机辅助教育、医药辅助设计、天文信息处理、化学、生物等几乎所有专业和领域。著名搜索引擎Google的核心代码使用Python实现,迪斯尼公司的动画制作与生成采用Python实现,大部分UNIX和Linux都内建了Python环境支持,豆瓣网使用Python作为主体开发语言进行网站架构和有关应用的设计与开发,网易大量网络游戏的服务器端代码超过70%采用Python进行设计与开发,易度的PaaA企业应用云端开发平台和百度云计算平台BAE也都大量采用了Python语言,美国宇航局使用Python实现了CAD/CAE/PDM库及模型管理系统,Yahoo公司使用Python建立全球范围的站点群,微软公司的集成开发环境Visual Studio 2015开始默认支持Python语言而不需要像之前的版本一样再单独安装PTVS和IronPython插件,开源ERP系统Odoo完全采用Python语言开发,引力波数据是用Python进行处理和分析的,类似的案例数不胜数。
早在多年前Python就已经成为卡耐基梅隆大学、麻省理工学院、加州大学伯克利分校、哈佛大学等国外很多大学计算机专业或非计算机专业的程序设计入门教学语言,目前国内也有不少学校的多个专业陆续开设了Python程序设计课程。Python语言连续多年在TIOBE网站的编程语言排行榜上排名第7位或第8位,2011年1月被TIOBE网站评为2010年度语言;在2014年12月份IEEE Spectrum推出的编程语言排行榜中,Python取得了第5位的好名次;2015年12月份TIOBE编程语言排行榜上Python跃居第4位,仅次于Java、C和C++,已经成为脚本语言的标准;Top developer Languages of 2015更是把Python排到了第3位。
Python是一门免费、开源的跨平台高级动态编程语言,支持命令式编程、函数式编程,完全支持面向对象程序设计,拥有大量功能强大的内置对象、标准库和扩展库以及众多狂热的支持者,使得各领域的科研人员、策划人员甚至管理人员能够快速实现和验证自己的思路与创意。在有些编程语言中需要编写大量代码才能实现的功能,在Python中直接调用内置函数或标准库方法即可实现。Python用户只需要把主要精力放在业务逻辑的设计与实现上,在开发效率和运行效率之间达到了完美的平衡,其精妙之处令人赞叹。
Python是一门快乐、优雅的语言。与C语言系列和Java等语言相比,Python大幅度降低了学习与使用的难度。Python易学易用,语法简洁清晰,代码可读性强,编程模式非常符合人类思维方式和习惯。经常浏览Python社区的优秀代码、Python标准库和扩展库文档甚至源代码,适当了解其内部工作原理,可以帮助读者编写更加优雅的Python程序。
如果读者有其他程序设计语言的基础,那么在学习和使用Python的过程中,一定不要把其他语言的编程习惯和风格带到Python中来,那样不仅会使得代码变得非常冗长、烦琐,还可能会严重影响代码的效率。应该尽量尝试从最自然、最简洁的角度出发去思考和解决问题,这样才能写出更加优雅、更加Pythonic的代码。
本书内容组织
对于Python程序员来说,熟练运用优秀、成熟的扩展库可以快速实现业务逻辑和创意,而Python语言基础知识和基本数据结构的熟练掌握则是理解和运用其他扩展库的必备条件,并且在实际开发中建议优先使用Python内置对象和标准库对象实现预定功能。本书前8章使用大量篇幅介绍Python编程基础知识,通过大量案例演示Python语言的精妙与强大。从第9章开始介绍大量标准库和扩展库在GUI编程、网络编程、数据库编程、大数据处理、Windows系统编程、多线程与多进程编程、逆向工程与软件分析、图形图像编程、科学计算可视化、密码学编程、移动终端编程等多个领域的应用。全书共19章,主要内容组织如下。
第1章基础知识。介绍如何选择Python版本,Python对象模型,数字、字符串等基本数据类型,运算符与表达式,内置函数,基本输入输出,Python程序文件名,扩展库管理与使用,Python代码编写规范等。
第2章Python序列。讲解序列常用的方法和基本操作,成员测试运算符,切片操作,列表基本操作与常用方法,列表推导式,元组与生成器推导式,序列解包,字典、集合基本操作与常用方法,字典推导式与集合推导式,以及如何使用列表实现栈、队列、二叉树、有向图等复杂数据结构。
第3章选择与循环。讲解Python选择结构、for循环与while循环,带else子句的循环结构,break与continue语句,选择结构与循环结构的综合运用。
第4章字符串与正则表达式。讲解字符串编码格式,字符串格式化、替换、分割、连接、查找、排版等基本操作,正则表达式语法、正则表达式对象、子模式与match对象,以及Python正则表达式模块re的应用。
第5章函数设计与使用。讲解函数的定义与使用,关键参数、默认值参数、长度可变参数等不同参数类型,全局变量与局部变量,参数传递时的序列解包,return语句,lambda表达式,以及map()、reduce()、filter()、生成器与可调用对象等若干高级话题。
第6章面向对象程序设计。讲解类的定义与使用,self与cls参数,类成员与实例成员,私有成员与公有成员,继承与派生,特殊方法与运算符重载等内容。
第7章文件操作。讲解文件操作基本知识,Python文件对象,文本文件读写操作,二进制文件读写与对象序列化,文件复制、移动、重命名、文件类型检测、文件完整性检查、压缩与解压缩、文件夹大小统计、文件夹增量备份、删除指定类型的文件等内容。
第8章异常处理结构与程序调试、测试。讲解Python异常类层次结构与自定义异常类,多种不同形式的异常处理结构,使用IDLE和pdb模块调试Python程序,Python单元测试相关知识。
第9章图形界面设计。讲解如何使用Python扩展库wxPython和标准库tkinter进行GUI编程,主要包括窗体、按钮、文本框、单选钮、复选框、组合框、列表框、树形控件以及各种对话框的运用,通过大量实际案例演示基本组件的用法。
第10章网络程序设计。讲解计算机网络基础知识,TCP、UDP编程,网络嗅探器与端口扫描器设计,网页内容读取与网页爬虫设计原理,使用Flask框架开发Web应用,以及使用C#与Python混合开发Web应用。
第11章大数据处理。介绍大数据处理框架MapReduce、Hadoop和Spark的基本概念,重点介绍MapReduce和Hadoop应用。
第12章Windows系统编程。讲解注册表编程、GUI编程、系统版本判断,将Python程序打包为exe可执行文件,在Python中调用外部程序,以及Python在系统运维中的应用。
第13章多线程与多进程编程。讲解Python标准库threading和multiprocessing在多线程编程与多进程编程中的应用,以及多线程与多进程之间的数据共享与同步控制。
第14章数据库编程。介绍SQLite数据库及其相关概念,Connection对象、Cursor对象、Row对象,以及使用Python扩展库操作Access、MS SQL Server、MySQL等数据库。
第15章多媒体编程。讲解扩展库PyOpenGL在计算机图形学编程中的应用,扩展库PIL与pillow在图像编程中的应用,pygame在音乐编程中的应用,以及speech在语音识别中的应用。
第16章逆向工程与软件分析。介绍逆向工程与软件分析原理以及相关插件,IDAPython与Immunity Debugger在软件分析中的应用,以及Windows平台软件调试原理。
第17章科学计算与可视化。讲解扩展库numpy、scipy、matplotlib在科学计算与可视化领域的应用,以及标准库statistics与扩展库pandas在数据处理、统计与分析中的应用。
第18章密码学编程。以pycrypto、rsa、hashlib等模块为主讲解安全哈希算法、对称密钥密码算法DES与AES以及非对称密钥密码算法RSA与DSA的应用。
第19章安卓平台的Python编程。介绍QPython和QPython3开发环境的应用,讲解安卓平台的Python程序设计。
本书最大特点是信息量大、知识点紧凑、案例丰富、实用性强。全书200多个涉及不同行业领域的实用案例,没有多余的文字,程序输出结果或软件安装截图,充分利用宝贵的篇幅来讲解尽可能多的知识,绝对物超所值。本书作者具有16年程序设计教学经验,讲授过汇编语言、C/C++/C#、Java、PHP、Python等多门程序设计语言,编写过大量的应用程序。本书内容结合作者多年教学与开发过程中积累的许多经验和案例,并巧妙地糅合进了相应的章节。
本书对Python内部工作原理进行了一定深度的剖析,90%以上的案例均使用Python 3.5.1实现,个别案例使用Python 2.7.11实现,并适当介绍了Python代码优化和安全编程的有关知识,可以满足不同层次读者的需要。
本书适用读者
本书可以作为(但不限于):
(1) 计算机专业本科生程序设计教材或研究生必读书目。本科生建议72学时以上,讲授本书全部章节。
(2) 数字媒体技术、软件工程、网络工程、信息安全、通信工程、电子、自动化及其他工科专业本科生或研究生程序设计教材。建议64学时,讲授前9章,再根据专业特点与需要在其他章节中选讲4~5章。
(3) 会计、经济、金融、管理、心理学、统计以及其他非工科专业研究生或本科生程序设计教材。建议64学时,讲授前8章中不带星号的内容,第9章的两节中选讲一节,再根据专业特点与需要在其他章节中选讲2~3章,其余章节由学生根据兴趣自学。
(4) 非计算机相关专业本科生公共基础课程序设计教材。建议48学时边讲边练,讲授前8章中不带星号的章节,再根据需要在其他章节中选讲2~3章,其余章节可由学生根据兴趣自学。
(5) 专科院校或职业技术学院程序设计教材。建议96学时,讲授前9章中不带星号的内容以及第10、13、14、19章。
(6) Python培训用书。建议时间为一周,讲授前8章,再根据需要选讲3~5章。
(7) 具有一定Python基础的读者进阶首选学习资料。
(8) 涉及Python开发的程序员、策划人员、科研人员和管理人员阅读书目。
(9) 打算利用业余时间学习一门快乐的程序设计语言并编写几个小程序来娱乐的读者首选学习资料。
(10) 少数对编程具有浓厚兴趣和天赋的中学生课外阅读资料。
教学资源
本书提供全套教学课件、源代码、课后习题答案与分析、考试题库以及教学大纲,配套资源可以登录清华大学出版社官方网站(www.tup.com.cn)下载或与作者联系索取,作者QQ号码为306467355,微信号为Python_dfg,电子邮箱地址为dongfuguo2005@126.com。
由于时间仓促,作者水平有限,书中难免出现纰漏,不足之处还请同行指正并通过作者联系方式进行反馈与交流。作者不定期在QQ空间和微信发布和更新勘误表,并通过QQ和微信答复读者的疑问。
感谢
首先感谢父母的养育之恩,在当年那么艰苦的条件下还坚决支持我读书,没有让我像其他同龄的孩子一样辍学。感谢姐姐、姐夫多年来对我的爱护以及在老家对父母的照顾,感谢善良的弟弟、弟媳在老家对父母的照顾,正是有了你们,我才能在远离家乡的城市安心工作。感谢我的妻子在生活中对我的大力支持,也感谢懂事的女儿在我工作的时候能够在旁边安静地读书而尽量不打扰我,在定稿前和妈妈一起帮我阅读全书并检查出了几个错别字。
感谢每一位读者,感谢您在茫茫书海中选择了本书,衷心祝愿您能够从本书中受益,学到您需要的知识!同时也期待每一位读者的热心反馈,随时欢迎您指出书中的不足!
本书的出版获2014年山东省普通高校应用型人才培养专业发展支持计划项目资助。我校专业共建合作伙伴——浪潮优派科技教育有限公司总裁邵长臣先生审阅了全书,并提出很多宝贵的意见,在此致以诚挚的谢意。本书在编写出版过程中也得到清华大学出版社的大力支持和帮助,在此表示衷心的感谢。

董付国定稿于山东烟台
2016年4月
目录
第1章基础知识/1
1.1如何选择Python版本/1
1.2Python安装与简单使用/3
1.3使用pip管理Python扩展库/5
1.4Python基础知识/5
1.4.1Python对象模型/5
1.4.2Python变量/6
1.4.3数字/9
1.4.4字符串/10
1.4.5运算符与表达式/11
1.4.6常用内置函数/14
1.4.7对象的删除/17
1.4.8基本输入输出/18
1.4.9模块导入与使用/20
1.5Python代码编写规范/21
1.6Python文件名/23
1.7Python脚本的name属性/24
1.8编写自己的包/24
1.9Python编程快速入门/25
1.10The Zen of Python/27
本章小结/28
习题/29第2章Python序列/30
2.1列表/30
2.1.1列表创建与删除/31
2.1.2列表元素的增加/32
2.1.3列表元素的删除/35
2.1.4列表元素访问与计数/39
2.1.5成员资格判断/40
2.1.6切片操作/41
2.1.7列表排序/43
2.1.8用于序列操作的常用内置函数/44
2.1.9列表推导式/46
2.1.10使用列表实现向量运算*/48
2.2元组/49
2.2.1元组的创建与删除/49
2.2.2元组与列表的区别/50
2.2.3序列解包/51
2.2.4生成器推导式/52
2.3字典/53
2.3.1字典创建与删除/53
2.3.2字典元素的读取/54
2.3.3字典元素的添加与修改/55
2.3.4字典应用案例/55
2.3.5有序字典/56
2.4集合/57
2.4.1集合的创建与删除/57
2.4.2集合操作/58
2.4.3集合运用案例/59
2.5再谈内置方法sorted()/60
2.6复杂数据结构/62
2.6.1堆/62
2.6.2队列/63
2.6.3栈/65
2.6.4链表/67
2.6.5二叉树/68
2.6.6有向图/70
本章小结/71
习题/72第3章选择与循环/73
3.1条件表达式/73
3.2选择结构/75
3.2.1单分支选择结构/75
3.2.2双分支选择结构/75
3.2.3多分支选择结构/76
3.2.4选择结构的嵌套/77
3.2.5选择结构应用案例/78
3.3循环结构/80
3.3.1for循环与while循环/80
3.3.2循环结构的优化/80
3.4break和continue语句/82
3.5案例精选/83
本章小结/88
习题/89第4章字符串与正则表达式/90
4.1字符串/91
4.1.1字符串格式化/92
4.1.2字符串常用方法/94
4.1.3字符串常量/99
4.1.4可变字符串*/101
4.1.5字符串应用案例精选/101
4.2正则表达式/104
4.2.1正则表达式语法/104
4.2.2re模块主要方法/106
4.2.3直接使用re模块方法/107
4.2.4使用正则表达式对象/108
4.2.5子模式与match对象/110
4.2.6正则表达式应用案例精选/114
本章小结/118
习题/119第5章函数设计与使用/120
5.1函数定义与调用/121
5.2形参与实参/122
5.3参数类型/123
5.3.1默认值参数/123
5.3.2关键参数/125
5.3.3可变长度参数/125
5.3.4参数传递时的序列解包/126
5.4return语句/126
5.5变量作用域/127
5.6lambda表达式/129
5.7案例精选/130
5.8高级话题/134
本章小结/137
习题/138第6章面向对象程序设计/139
6.1类的定义与使用/139
6.1.1类定义语法/139
6.1.2self参数/140
6.1.3类成员与实例成员/140
6.1.4私有成员与公有成员/141
6.2方法/143
6.3属性/145
6.3.1Python 2.x中的属性/145
6.3.2Python 3.x中的属性/147
6.4特殊方法与运算符重载/149
6.4.1常用特殊方法/149
6.4.2案例精选/150
6.5继承机制/154
本章小结/156
习题/157第7章文件操作/158
7.1文件对象/158
7.2文本文件操作案例精选/159
7.3二进制文件操作案例精选/165
7.3.1使用pickle模块/165
7.3.2使用struct模块/166
7.4文件级操作/167
7.4.1os与os.path模块/167
7.4.2shutil模块/169
7.5目录操作/170
7.6案例精选/171
本章小结/184
习题/184第8章异常处理结构与程序调试、测试/185
8.1基本概念/185
8.2Python异常类与自定义异常/186
8.3Python中的异常处理结构/189
8.3.1try…except结构/189
8.3.2try…except…else结构/190
8.3.3带有多个except的try结构/190
8.3.4try…except…finally结构/191
8.4断言与上下文管理/193
8.4.1断言/193
8.4.2上下文管理/194
8.5用sys模块回溯最后的异常/194
8.6使用IDLE调试代码/195
8.7使用pdb模块调试程序/196
8.7.1pdb模块常用命令/196
8.7.2使用pdb模块调试Python程序/197
8.8Python单元测试/200
本章小结/203
习题/203第9章GUI编程/204
9.1wxPython/204
9.1.1Frame/204
9.1.2Button、StaticText、TextCtrl/207
9.1.3Menu/209
9.1.4ToolBar、StatusBar/210
9.1.5对话框/211
9.1.6RadioButton、CheckBox/212
9.1.7ComboBox/213
9.1.8ListBox/214
9.1.9TreeCtrl/216
9.2tkinter应用案例精选/219
9.2.1用户登录界面/219
9.2.2选择类组件应用/220
9.2.3简单文本编辑器/223
9.2.4简单画图程序/226
9.2.5电子时钟/230
本章小结/232
习题/233第10章网络程序设计/234
10.1计算机网络基础知识/234
10.2UDP和TCP编程/235
10.2.1UDP编程/236
10.2.2TCP编程/237
10.3网络嗅探器与端口扫描器设计/239
10.3.1网络嗅探器/239
10.3.2多进程端口扫描器/240
10.4网页内容读取与网页爬虫/242
10.4.1网页内容读取与域名分析/242
10.4.2版本自适应的网页爬虫/244
10.5使用Python开发网站/245
10.5.1使用IIS运行Python网站/245
10.5.2使用web2py框架开发网站/247
10.5.3使用C#和Python组合开发ASP.NET网站/251
10.5.4Flask框架/253
本章小结/254
习题/255第11章大数据处理/256
11.1大数据框架/257
11.2MapReduce编程案例/258
11.3Hadoop模式的MapReduce应用/261
本章小结/262
习题/262第12章Windows系统编程/263
12.1注册表编程/263
12.2创建可执行文件/266
12.3调用外部程序/267
12.4创建窗口/271
12.5判断操作系统的版本/275
12.6系统运维/275
12.6.1Python扩展库psutil/276
12.6.2使用pywin32实现事件查看器/277
12.6.3切换用户登录身份/280
本章小结/281
习题/282第13章多线程与多进程编程/283
13.1threading模块/283
13.2Thread对象/284
13.2.1Thread对象中的方法/284
13.2.2Thread对象中的daemon属性/285
13.3线程同步技术/287
13.3.1Lock/RLock对象/287
13.3.2Condition对象/288
13.3.3queue对象/290
13.3.4Event对象/290
13.4多进程编程/291
13.4.1创建进程/292
13.4.2进程间数据交换/292
13.4.3进程同步/294
本章小结/295
习题/296第14章数据库编程/297
14.1SQLite应用/297
14.1.1Connection对象/298
14.1.2Cursor对象/299
14.1.3Row对象/301
14.2访问其他类型数据库/302
14.2.1操作Access数据库/302
14.2.2操作MS SQL Server数据库/303
14.2.3操作MySQL数据库/304
本章小结/306
习题/306第15章多媒体编程/307
15.1图形编程/307
15.1.1创建图形编程框架/307
15.1.2绘制文字/308
15.1.3绘制图形/309
15.1.4纹理映射/310
15.1.5处理键盘/鼠标事件/312
15.2图像编程/312
15.2.1图像处理模块PIL与pillow功能简介/312
15.2.2使用pillow计算椭圆中心/314
15.2.3使用pillow动态生成比例分配图/315
15.2.4使用pillow生成验证码图片/316
15.3音乐编程/318
15.4语音识别/320
本章小结/321
习题/321第16章逆向工程与软件分析/322
16.1主流项目与插件简介/322
16.1.1主流项目/323
16.1.2常用插件/323
16.2IDAPython与Immunity Debugger编程/324
16.2.1IDAPython编程/324
16.2.2Immunity Debugger编程/329
16.3Windows平台软件调试原理/334
16.3.1Windows调试接口/334
16.3.2调试事件/335
16.3.3进程调试/336
16.3.4线程环境/337
16.3.5断点/338
16.4案例精选/339
本章小结/341
习题/342第17章科学计算与可视化/343
17.1NumPy简单应用/343
17.2SciPy简单应用/349
17.2.1常数与特殊函数/350
17.2.2SciPy简单应用/351
17.3Matplotlib案例精选/352
17.3.1绘制带有中文标签和图例的正弦余弦曲线
/352
17.3.2绘制散点图/353
17.3.3绘制饼状图/353
17.3.4使用pyplot绘制,多个图形在一起显示
/354
17.3.5使用pyplot绘制,多个图形单独显示/356
17.3.6绘制三维图形/356
17.3.7绘制三维曲线/357
17.4数据分析模块pandas/358
17.5统计分析模块statistics/362
本章小结/364
习题/364第18章密码学编程/365
18.1安全哈希算法/365
18.2对称密钥密码算法DES和AES/365
18.3非对称密钥密码算法RSA与数字签名算法DSA/367
18.3.1RSA/367
18.3.2DSA/369
本章小结/369
习题/369第19章安卓平台的Python编程/370
19.1QPython简介/370
19.2安卓应用开发案例/371
本章小结/375
习题/375参考文献/376
Copyright(C)清华大学出版社有限公司,All Rights Reserved 京ICP备10035462号 联系我们