资深Python爱好者董付国老师编著的经典图书《Python可以这样学》正式出版,500页78万7千字巨献,清华大学出版社官网(http://www.tup/booksCenter/book_06971401.html)已挂出有关信息,应该这几天很快就可以通过官网购买了,预计一周内将在亚马逊京东当当互动出版网淘宝等各大网上书店全面上架。以Python 3.5.x为载体,同时适用于Python 3.4.x和Python 3.6.x,超过1000个演示性代码片段和200多个案例大放送,除了Python高级语法和内置对象高级用法,还介绍了几十个扩展库在不同领域的应用,并完整介绍了“边讲边练类课程课堂教学管理系统”设计原理与过程,附送全套源代码以供参考。



《Python可以这样学》前言

Python并不是一门新的语言,它Guido van Rossum1989年底开始设计并于1991年推出第一个公开发行版本,比Java4Python推出不久就迅速得到各行业人士的青睐,经过二十多年的发展,已经渗透到统计分析、移动终端开发、科学计算可视化、系统安全、逆向工程软件测试与软件分析、图形图像处理、人工智能、机器学习、游戏设计与策划、网站开发、数据爬取与大数据处理、密码学、系统运维、音乐编程、影视特效制作、计算机辅助教育、医药辅助设计、天文信息处理、化学、生物信息处理、神经科学与心理学、自然语言处理、电子电路设计、电子取证、树莓派等几乎所有专业和领域,在黑客领域更是多年来一直拥有霸主地位。

作为一个非常不完整列表,这里给出几个Python应用案例:著名搜索引擎google的核心代码使用Python实现,迪斯尼公司的动画制作与生成采用Python实现,大部分UnixLinux操作系统都内建了Python环境支持,豆瓣网使用Python作为主体开发语言进行网站架构和有关应用的设计与开发,网易大量网络游戏的服务器端代码超过70%采用Python进行设计与开发,易度的PaaA企业应用云端开发平台和百度云计算平台BAE也都大量采用了Python语言,eBay已经使用Python超过15年以上(在eBay官方宣布支持Python之前就已经有程序员在使用了),美国宇航局使用Python实现了CAD/CAE/PDM库及模型管理系统,Yahoo使用Python建立全球范围的站点群,微软集成开发环境Visual Studio 2015开始默认支持Python语言而不需要像之前的版本一样再单独安装PTVSIronPython,开源ERP系统Odoo完全采用Python语言开发,树莓派使用Python作为官方编程语言,引力波数据是用Python进行处理和分析的,YouTube、美国银行等也在大量使用Python进行开发,类似的案例数不胜数。

早在多年前Python已经成为卡耐基梅隆大学、麻省理工学院、加州大学伯克利分校、哈佛大学、多伦多大学等国外很多大学计算机专业或非计算机专业的程序设计入门教学语言,近几年来国内也有不少学校的多个专业陆续开设了Python程序设计课程。Python语言连续多年在TIOBE网站的编程语言排行榜上排名78位,20111月被TIOBE网站评为2010年度语言201412月份IEEE Spectrum推出的编程语言排行榜中,Python取得了第5位的好名次201512月份TIOBE编程语言排行榜上Python跃居第4位,仅次于JavaCC++,已经成为脚本语言的标准;Top developer Languages of 2015更是把Python排到了第3位。

Python是一门免费、开源的跨平台高级动态编程语言,支持命令式编程、函数式编程,完全支持面向对象程序设计,拥有大量功能强大的内置对象、标准库、涉及各行业领域的扩展库以及众多狂热的支持者使得各领域的工程师、科研人员策划人员甚至管理人员能够快速实现验证自己的思路创意或者推测在有些编程语言中需要编写大量代码才能实现的功能,在Python中直接调用内置函数或标准库方法即可实现,大幅度减少了代码量的编写和维护。Python用户只需要把主要精力放在业务逻辑的设计与实现上,开发速度和运行效率之间达到了完美的平衡,其精妙之处令人击节赞叹。

如何学习Python

要想改变世界,首先要改变自己的世界。要想学好Python,首先要从内心认识到Python的强大与美,树立起学好、用好Python的信念并坚持不懈的努力,然后才有可能攀登Python高手之巅。

很多人从内心很恐惧Python,曾经有不少人问我“Python功能那么强大,肯定很难学吧?”。其实,从编程语言发展史来看,人类语言和机器语言之间的鸿沟越来越小,人机交互越来越方便,越高级的编程语言越接近人类自然语言,越容易学习、掌握和运用,所以请不要有丝毫的恐惧和犹豫,放手去学便是。

以我个人20年的经验,不管学习和使用哪种编程语言,大概都需要经历4个阶段:第一阶段,能看懂和调试别人的代码;第二阶段,能在别人的代码基础上进行适当改写;第三阶段,能把多段已有的代码拼凑起来实现自己需要的功能;第四阶段,自己动手编写代码实现特定功能需求。一般而言,如果每天坚持3个小时学习Python的话,两周左右应该就能入门,3个月后就可以展示出不错的成果。当然,随着学习和开发时间越来越长,功力会越来越深厚,能够掌控的代码行数(LOC)会越来越多,能够控制的业务逻辑越来越复杂。

毫无疑问,Python是一门快乐、优雅的语言,上手非常容易,稍加接触就会喜欢上Python并能够在短时间内写出几个小程序。与C语言系列Java等语言相比,Python大幅度降低了学习与使用的难度Python易学易用,语法简洁清晰,代码可读性强,编程模式非常符合人类思维方式和习惯。尽管如此,但这并不代表可以毫不费力地学会和熟练运用Python,在学习Python的路上没有秘籍,也没有哈利波特魔法杖,唯一的捷径就是勤学苦练。

多看。读书破万卷下笔如有神。学习Python也是这样,不仅要多看书,还要看很多遍。很多知识点是互相关联的,单独一个知识点也无法实现稍微复杂一点的功能,书中很多案例代码用到了后面章节的知识点,而后面章节的案例代码又用到了前面章节的内容,这实在是无法避免的一件事。因此,不能奢望看一遍就能熟悉和掌握书中的内容,更不能奢望只看一本书就能学会Python的全部知识。以我个人而言,除了Python官方帮助文档和一些社区的资料之外,已经阅读了超过25Python方面的书,并且还在不断地购买和阅读别人编写的Python书籍来提高自己对Python的理解。一书一茶一下午,这样平淡的快乐或许有人难以体会,于我却是乐此不疲。

多练。太极拳论曰“由招熟而渐悟懂劲,由懂劲而阶及神明,然非用力之久,不能豁然贯通焉”。陆游的教子诗《冬夜读书示子聿》也认为“纸上得来终觉浅,绝知此事要躬行”。掌握了正确的方法以后,多练是唯一的捷径。一定要动手编写和调试书上的代码,踏踏实实把基础掌握好再有针对性地学习自己需要的扩展库,切忌只看不练。很多人眼高手低,一看就会,一编就错,根本原因就是练的太少了。子曰“学而时习之”,也是这个道理,充分说明了练习的重要性。一层功夫一层天。欲穷千里目,更上一层楼。多练,可以说是攀登Python高手之巅最重要的途径。

多想。学而不思则罔,思而不学则殆。一味地看书和埋头苦练是不行的,还要多想、多总结、多整理,争取把学到的知识和技术彻底理解。理解的越多,需要记忆的就越少。

多交流。独学而无友,则孤陋而寡闻。除了重视基础知识的学习和练习之外,还要多交流。除了Python官方网站和在线帮助文档之外,经常浏览一些Python论坛并阅读和调试其中的优秀代码,汲取他人代码中的精华。子曰“三人行必有我师焉,择其善者而从之”,也是相同的道理。遇到不懂的问题也可以去一些论坛发帖提问,或者请教身边的朋友和老师,但是提问之前一定要充分思考,有针对性地请教别人,经过充分思考以后再请教别人不仅是对别人的尊重,也能让自己有更大的收获。百思不得其解的问题经过高手一点拨才能有茅塞顿开和恍然大悟的效果,这样的交流更加有效,不浪费彼此的时间。曾经有学生拿一个十几页代码的程序来问我问题,我问哪里看不懂,他说整个程序都看不懂,想让我帮忙看看然后把整篇代码给他讲讲。正如大家所想的一样,我直接拒绝了他。也曾经有读者问我“怎么用Python做图像处理?”,真的很抱歉,这样没营养的问题我实在没法回答。

俗话说,心急吃不了热豆腐。控制好学习的进度和节奏才能获得最好的效果,每天学习一点、进步一点、提高一点,时间久了会突然有一天发现自己已经成为Python高手,很有零存整取的感觉。欲速则不达,把下面这个图送给各位读者朋友共勉。

 

学拳容易改拳难。不是所有慢悠悠的拳都是太极拳,也不是所有用Python语言写出来的代码都足够Pythonic很多人认为编程语言都是一通百通,无非是语法不一样而已,认为“没吃过猪肉也见过猪跑”,简单看看语法就能立刻使用另外一种语言编写程序这样的想法确实有一定的道理,但实际上就算天天看猪跑也没法知道猪肉是啥味道,按照C语言的思路用Python写出来的代码绝对不是好的Python程序,会显得不伦不类,代码会非常啰嗦,不得Python精髓,完全不能发挥Python的优势。应该在熟悉Python编程模式的基础上,尽量尝试从最自然、最简洁的角度出发去思考和解决问题,这样才能写出更加优雅、更加Pythonic的代码,像诗一样美

汝果欲学诗,工夫在诗外。没有丰富的人生阅历很难写出优美并且有内涵、有灵魂的诗,学习Python也是这样。归根到底,Python是用来表达我们思想、算法或帮我们解决某个问题的语言和工具而已,idea才是一个程序的灵魂。切不可把全部精力放到Python语言本身的学习上,而是要把主要精力放到自己的专业知识学习上,最终再用Python把自己的思想或算法准确地表达出来。本书从不同领域选取了一些有代表性的案例,同时还结合自己多年的项目开发和教学经验整理和设计了一些案例,希望能够起到抛砖引玉的作用。

内容组织与阅读建议

对于Python程序员来说,熟练运用优秀、成熟的扩展库可以快速实现业务逻辑和创意,而Python语言基础知识和基本数据结构的熟练掌握是理解和运用其他扩展库的必条件。并且,在实际开发中建议优先使用Python内置对象和标准库对象实现预定功能,这样可以获得更高的执行效率本书前7使用大量篇幅介绍Python编程基础知识,通过大量案例演示Python语言的精妙与强大。然后从第8章开始介绍大量标准库和扩展库在GUI编程、网络编程、数据库编程、大数据处理、多线程与多进程编程、系统运维、图形图像编程、科学计算可视化、密码学编程、移动终端编程等多个领域的应用。最后一章通过一个完整的系统演示了Python在实际系统开发中的应用。全书16章,读者在熟练掌握前7章之后,可以结合自己的专业领域或兴趣爱好,在其他章节中有选择地进行阅读。

1 Python基础。介绍如何选择Python版本和开发环境,Python对象模型,数字、字符串等基本数据类型运算符与表达式,常用内置函数,基本输入输出函数,扩展库管理与使用

2 Python序列。讲解序列常用方法和基本操作,列表基本操作与常用方法,切片操作,列表推导式,元组与生成器推导式,序列解包,字典、集合基本操作与常用方法,字典推导式与集合推导式

3 程序控制结构与函数设计。讲解Python选择结构for循环与while循环,带else子句的循环结构,breakcontinue语句,循环代码优化,函数定义与使用,关键参数、默认值参数、长度可变参数等不同参数类型,全局变量与局部变量,参数传递时的序列解包,return语句,lambda表达式以及map()reduce()filter()、生成器与可调用对象。

4 面向对象程序设计。讲解类的定义与使用,selfcls参数,类成员与实例成员,私有成员与公有成员,继承与派生,属性,特殊方法与运算符重载等内容,以及自定义类实现数组、矩阵、队列、栈、二叉树、有向图、集合等数据结构。

5  字符串与正则表达式。讲解字符串编码格式,字符串格式化、替换、分割、连接、查找、排版等基本操作,正则表达式语法、正则表达式对象、子模式与子模式扩展语法、match对象,以及Python正则表达式模块re的应用。

6  文件与文件夹操作。讲解文件操作基本知识Python文件对象文本文件读写操作,二进制文件读写与对象序列化,文件复制、移动、重命名、文件类型检测、文件完整性检查、压缩与解压缩、文件夹大小统计、文件夹增量备份、删除指定类型的文件,以及wordexcelzipapkrar等常见文件类型的操作

7  异常处理结构、代码调试与测试。讲解Python异常类层次结构自定义异常类,多种不同形式的异常处理结构使用IDLEpdb模块调试Python程序Python单元测试相关知识

8  数据库应用开发。介绍SQLite数据库及其相关概念,Connection对象、Cursor对象、Row对象,使用Python操作AccessMS SQL ServerMySQL等关系型数据库以及使用Python操作NoSQL数据库MongoDB

9  网络应用开发。讲解计算机网络基础知识,TCPUDP协议编程,网络嗅探器与端口扫描器设计域名解析与网页爬虫设计原理,代理服务器与FTP软件原理与实现使用Python编写CGI程序,使用Flaskdjango框架开发Web应用,以及使用C#Python混合开发Web应用。

10  多线程与多进程。讲解Python标准库threadingmultiprocessing在多线程编程与多进程编程中的应用,以及多线程与多进程之间的数据共享与同步控制。

11章  大数据处理。介绍大数据处理框架MapReduceHadoopSpark基本概念,重点介绍MapReduceSpark应用。

12  图形编程与图像处理。讲解扩展库PyOpenGL在计算机图形学编程中的应用,扩展库pillow在图像编程中的应用。

13  数据分析与科学计算可视化。讲解扩展库numpyscipymatplotlib在科学计算与可视化领域的应用,以及标准库statistics与扩展库pandas在统计与分析、数据处理中的应用。

14  密码学编程。介绍凯撒密码、维吉尼亚密码等经典密码算法的Python实现,pycryptorsahashlib等模块为主讲解安全哈希算法、对称密钥密码算法DESAES以及非对称密钥密码算法RSADSA的应用。

15  tkinter编程。讲解如何使用Python标准库tkinter进行GUI编程,通过大量实际案例演示基本组件的用法,包括用户登录界面设计、选择类组件应用、简单文本编辑器、画图程序设计与实现、电子时钟、简单动画、屏幕任意区域截图、音乐播放器、远程桌面监控程序等等

16  课堂教学管理系统设计与实现。通过一个综合案例来演示前面章节知识的应用,提供了学生名单和题库的导入、在线点名、在线提问、在线答疑、在线收作业、在线自测与考试、数据导出、防作弊与服务器自动发现、信息汇总、试卷生成等功能

本书最大特点是信息量大知识点紧凑、案例丰富、注释量大、实用性强,把书中一些代码进行简单拼凑就可以满足实际工作中需要的很多功能。全书200个涉及不同行业领域的实用案例和上千个代码片段并且配有大量注释以方便理解,没有插入多余的程序输出结果或软件安装截图,只保留了必要的代码运行结果或截图以供读者参考和对比,充分利用宝贵的篇幅来介绍和演示尽可能多的知识,绝对物超所值。本书作者具有16年程序设计教学经验,先后讲授过汇编语言、C/C++/C#JavaPHPPython等多门程序设计语言,并且编写过大量的应用程序,其中有几套系统已投入使用多年并一直在使用。本书内容结合了作者多年教学与开发过程中积累的许多经验和案例,并巧妙地糅合进了相应的章节

本书对Python内部工作原理进行了一定深度的剖析,书中99%以上的案例均使用Python 3.5.1实现,这些代码同样也适用于Python 3.4.x(除少数几个新特性之外,例如矩阵运算符@)和最新版本Python 3.5.2以及马上就要正式面试的Python 3.6.0,极个别案例使用Python 2.7.11实现(同样适用于其他版本Python 2.7.x,包括最新的Python 2.7.12),并适当介绍了Python代码优化、系统编程和安全编程的有关知识,可以满足不同层次读者的需要另外,书中通过小提示、小技巧、注意、拓展知识等形式介绍了更多的内容,所以全部内容远比章节目录所显示的要多的多,需要认真阅读才能真正领会其中的奥妙。

配套资源

本书提供所有案例源代码,可以登录清华大学出版社网站(www.tup)下载,或加入本书读者群(QQ群号282819961)下载最新配套资源并与作者直接交流,作者微信号Python_dfg也随时期待您的反馈和交流,当然也欢迎关注微信公众号Python小屋”及时阅读作者写的最新案例代码

本书适用读者

本书可以作为(但不限于):

l 本科、专科或研究生程序设计课程教材。

l Python培训用书。

l 具有一定Python基础的读者进阶首选学习资料。

l 涉及Python开发的工程师、策划人员、科研人员和管理人员阅读书目。

l 打算利用业余时间学习一门快乐的程序设计语言并编写几个小程序来娱乐的读者首选学习资料。

l 少数编程具有浓厚兴趣和天赋的中学生课外阅读资料。

感谢

首先感谢父母的养育之恩,在当年那么艰苦的条件下还坚决支持我读书,没有让我像其他同龄孩子一样辍学。感谢姐姐、姐夫多年来对我的爱护以及在老家对父母的照顾,感谢善良的弟弟、弟媳在老家对父母的照顾,正是有了你们,远离家乡的我才能安心工作。当然,最应该感谢的是妻子和孩子对我这个技术狂人的理解,这些年来她们已经习惯了正在吃饭的我突然想起个思路然后就跑到计算机前面去写代码了,习惯了我每个周末和假期都在教研室看书或写代码而不陪她们玩,也习惯了周末的中午和晚上做好饭以后再打电话让我回家。为了表示对我的支持,她们还阅读了本书定稿前的版本并发现了几个错别字。

感谢每一位读者,感谢您在茫茫书海中选择了本书,衷心祝愿您能够从本书中受益,学到真正需要的知识!同时也期待每一位读者的热心反馈,随时欢迎您指出书中的不足!

本书的出版获2014年山东省普通高校应用型人才培养专业发展支持计划项目资助。我校专业共建合作伙伴——浪潮优派科技教育有限公司总裁邵长臣先生审阅了全书,并提出很多宝贵的意见,在此致以诚挚的谢意。本书在编写出版过程中也得到清华大学出版社的大力支持和帮助,在此表示衷心的感谢。

董付国于山东烟台

20167



附:本书目录(排版后页码可能会略有变化)


第1章  Python基础 1
1.1  Python是一种什么样的语言 1
1.2  Python开发环境 2
1.2.1  百家争鸣的繁荣景象 2
1.2.2  IDLE简单使用 7
1.3  变量、运算符与表达式 11
1.3.1  Python变量与内置数据类型 11
1.3.2  常用内置函数 17
1.3.3  运算符与表达式 24
1.3.4  人机对话基本接口 28
1.4  模块安装与使用 30
1.4.1  安装Python扩展库 30
1.4.2  模块导入与使用 34
1.4.3  编写自己的模块和包 36
第2章  Python序列 39
2.1  列表与列表推导式 40
2.1.1  列表创建与删除 40
2.1.2  列表常用方法 42
2.1.3  列表推导式 51
2.1.4  切片 55
2.2  元组与生成器推导式 58
2.2.1  元组 58
2.2.2  生成器推导式 59
2.3  字典 61
2.3.1  字典创建、元素添加、修改与删除 61
2.3.2  访问字典对象的数据 63
2.3.3  案例精选 65
2.4  集合 67
2.4.1  集合基础知识 67
2.4.2  集合操作与运算 69
2.4.3  案例精选 71
2.5  序列解包 73
第3章  程序控制结构与函数设计 76
3.1  选择结构 76
3.1.1  条件表达式 76
3.1.2  选择结构的几种形式 79
3.1.3  案例精选 85
3.2  循环结构 88
3.2.1  for循环与while循环基本语法 88
3.2.2  break与continue语句 89
3.2.3  循环代码优化技巧 90
3.2.4  案例精选 92
3.3  函数设计与使用 97
3.3.1  基本语法 97
3.3.2  函数参数不得不说的几件事 101
3.3.3  变量作用域 106
3.3.4  lambda表达式 109
3.3.5  案例精选 111
第4章  面向对象程序设计 130
4.1  基础知识 130
4.1.1  类的定义与使用 130
4.1.2  私有成员与公有成员 131
4.1.3  数据成员 133
4.1.4  方法 135
4.1.5  属性 137
4.1.6  继承 140
4.1.7  特殊方法与运算符重载 143
4.2  案例精选 144
4.2.1  自定义数组 144
4.2.2  自定义矩阵 150
4.2.3  自定义队列 155
4.2.4  自定义栈 160
4.2.5  自定义二叉树 163
4.2.6  自定义有向图 166
4.2.7  自定义集合 167
第5章  字符串与正则表达式 174
5.1  字符串 174
5.1.1  字符串格式化的两种形式 177
5.1.2  字符串常用方法 180
5.1.3  案例精选 195
5.2  正则表达式 198
5.2.1  正则表达式语法与子模式扩展语法 198
5.2.2  re模块方法与正则表达式对象 202
5.2.3  案例精选 208
第6章  文件与文件夹操作 215
6.1  文件对象常用方法与属性 216
6.2  文本文件操作案例精选 218
6.3  二进制文件操作案例精选 226
6.3.1  使用pickle模块读写二进制文件 226
6.3.2  使用struct模块读写二进制文件 228
6.3.3  使用shelve模块操作二进制文件 229
6.3.4  使用marshal模块操作二进制文件 229
6.4  文件与文件夹操作 230
6.4.1  标准库os、os.path与shutil简介 230
6.4.2  案例精选 235
第7章  异常处理结构、代码测试与调试 261
7.1  异常处理结构 261
7.1.1  异常是什么 261
7.1.2  Python内置异常类层次结构 263
7.1.3  常见异常处理结构形式 264
7.2  代码测试 271
7.2.1  doctest 272
7.2.2  单元测试 274
7.3  代码调试 279
7.3.1  使用IDLE调试 279
7.3.2  使用pdb调试 282
阶段性寄语 288
第8章  数据库应用开发 289
8.1  使用Python操作SQLite数据库 289
8.1.1  Connection对象 290
8.1.2  Cursor对象 291
8.1.3  Row对象 294
8.2  使用Python操作其他关系型数据库 294
8.2.1  操作Access数据库 294
8.2.2  操作MS SQL Server数据库 295
8.2.3  操作MySQL数据库 298
8.3  操作MongoDB数据库 299
第9章  网络应用开发 302
9.1  计算机网络基础知识 302
9.2  Socket编程 304
9.2.1  UDP协议编程 305
9.2.2  TCP协议编程 307
9.2.3  网络嗅探器 309
9.2.4  多进程端口扫描器 311
9.2.5  代理服务器端口映射功能的实现 314
9.2.6  自己编写FTP通信软件 317
9.3  域名解析与网页爬虫 323
9.3.1  网页内容读取与域名分析 323
9.3.2  网页爬虫 324
9.3.3  scrapy框架 326
9.3.4  BeautifulSoup4 328
9.4  网站开发 332
9.4.1  使用IIS运行Python CGI程序 332
9.4.2  Python在ASP.NET中的应用 335
9.4.3  Flask框架简单应用 337
9.4.4  django框架简单应用 338
第10章  多线程与多进程 343
10.1  多线程编程 344
10.1.1  线程创建与管理 346
10.1.2  线程同步技术 349
10.2  多进程编程 357
10.2.1  进程创建与管理 358
10.2.2  进程间数据交换 358
10.2.3  进程同步技术 360
第11章  大数据处理 362
11.1  大数据简介 362
11.2  MapReduce框架 363
11.3  Spark应用开发 368
第12章   图形编程与图像处理 373
12.1  图形编程 373
12.1.1  绘制三维图形 373
12.1.2  绘制三次贝塞尔曲线 376
12.1.3  纹理映射 378
12.1.3  响应键盘事件 381
12.1.4  光照模型 382
12.2  图像处理 384
12.2.1  pillow模块基本用法 385
12.2.2  计算椭圆中心 389
12.2.3  动态生成比例分配图 390
12.2.4  生成验证码图片 391
12.2.5  gif动态图像分离与生成 393
12.2.6  材质贴图 394
16.2.7  图像融合 395
16.2.8  棋盘纹理生成 397
第13章  数据分析与科学计算可视化 398
13.1  扩展库numpy简介 398
13.2  科学计算扩展库scipy 407
13.2.1  数学、物理常用常数与单位模块constants 407
13.2.2  特殊函数模块special 408
13.2.3  信号处理模块signal 409
13.2.4  图像处理模块ndimage 411
13.3  扩展库pandas简介 415
13.4  统计分析标准库statistics用法简介 418
13.5  matplotlib 420
13.5.1  绘制正弦曲线 421
13.5.2  绘制散点图 421
13.5.3  绘制饼状图 423
13.5.4  绘制带有中文标签和图例的图 424
13.5.5  绘制图例标签中带有公式的图 425
13.5.6  使用pyplot绘制,多个图形单独显示 426
13.5.7  绘制三维参数曲线 427
13.5.8  绘制三维图形 428
13.5.9  使用指令绘制自定义图形 430
13.5.10  在tkinter中使用matplotlib 431
13.5.11  使用matplotlib提供的组件实现交互式图形显示 433
13.5.12  根据实时数据动态更新图形 435
13.5.13  使用Slider组件调整曲线参数 437
第14章  密码学编程 440
14.1  经典密码算法 440
14.1.1  凯撒密码算法 440
14.1.2  维吉尼亚密码 442
14.1.3  换位密码算法 443
14.2  安全哈希算法 444
14.3  对称密钥密码算法DES和AES 447
14.4  非对称密钥密码算法RSA与数字签名算法DSA 449
14.4.1  RSA 449
14.4.2  DSA 450
第15章  tkinter编程精彩案例 452
15.1  用户登录界面 453
15.2  选择类组件应用 454
15.3  简单文本编辑器 457
15.4  简单画图程序 461
15.5  电子时钟 465
15.6  简单动画 467
15.7  多窗口编程 471
15.8  屏幕任意区域截图 472
15.9  音乐播放器 475
15.10  远程桌面监控系统 478
第16章  课堂教学管理系统设计与实现 483
16.1  功能简介 483
16.1.1  教师端功能 483
16.1.2  学生端功能 484
16.2  数据库设计 485
16.3  系统总框架与通用功能设计 486
16.4  数据导入功能 490
16.4.1  学生名单导入 490
16.4.2  题库导入 491
16.5  点名与加分功能 492
16.5.1  在线点名 492
16.5.2  离线点名与加分 495
16.6  随机提问功能 498
16.7  在线收作业功能 500
16.7.1  学生端 500
16.7.2  教师端 501
16.8  在线自测与在线考试功能 503
16.8.1  学生端 503
16.8.2  教师端 505
16.9  信息查看功能 508
16.10  数据导出功能 510
16.11  其他辅助功能 510
16.11.1  防作弊功能 511
16.11.2  服务器自动发现功能 511
16.11.3  Word版试卷生成功能 512
结语 514
附录1:本书中例题清单 515
附录2:本书中插图清单 520
附录3:本书中表格清单 523
附录4:本书中拓展知识摘要清单 524
参考书目 529

阅读 投诉

更多推荐

自学Python的最佳选择《Python可以这样学》正式出版