具体描述
本书注重基础、循序渐进,系统地讲述了Python程序设计开发的相关知识。全书共分8章,涵盖了Python开发环境及工具、编程基础、程序流程控制、函数与模块、面向对象编程、异常处理、数据库编程和tkinter GUI编程等内容。
作者简介
邓英,副教授,主要从事网络技术工作、科技期刊编辑工作以及教学工作。
夏帮贵,副教授,主要从事数据库、软件开发,已出版VB、C/C++、VF、Java、PHP、ASP.NET等相关教材十余部。
目录信息
第1章Python起步1
1.1认识Python1
1.1.1Python的发展1
1.1.2Python的应用案例2
1.1.3Python的应用领域2
1.1.4Python的特点4
1.1.5Python的版本6
1.1.6Python3.x与2.x的区别7
1.2Python程序的运行方式9
1.2.1计算机程序设计语言分类10
1.2.2计算机程序的运行方式10
1.2.3Python程序的运行方式10
1.2.4Python的实现11
1.2.5Python程序的可执行文件11
1.3Python开发环境及工具12
1.3.1Python的下载和安装12
1.3.2Python编程工具:IDLE15
1.3.3Python编程工具:记事本16
1.3.4Python编程工具:Eclipse+PyDev17
1.3.5Python编程工具:NetBeans26
1.4编程实践31
1.4.1使用IDLE交互模式31
1.4.2直接使用Python交互模式32
1.4.3用IDLE编写Python程序输出32
1.4.4在命令行运行Python程序33
1.4.5双击文件图标运行Python程序34
1.5本章小结34
1.6习题35
第2章Python编程基础36
2.1Python程序基本结构36
2.1.1用缩进表示代码块36
2.1.2代码注释37
2.1.3语句续行37
2.1.4语句分隔37
2.1.5关键字与大小写38
2.2基本输入和输出38
2.2.1基本输入38
2.2.2基本输出39
2.3数据类型:数字40
2.3.1数字常量40
2.3.2数字运算42
2.3.3小数45
2.3.4分数46
2.3.5数学函数47
2.4变量与动态数据类型49
2.4.1变量与对象49
2.4.2对象的垃圾回收49
2.4.3变量命名规则50
2.4.4赋值语句50
2.4.5变量的共享引用52
2.5数据类型:集合53
2.5.1集合常量53
2.5.2集合运算54
2.5.3集合基本操作54
2.5.4冻结集合55
2.6数据类型:字符串56
2.6.1字符串常量56
2.6.2字符串基本操作58
2.6.3字符串方法61
2.6.4字符串格式化表达式66
2.6.5bytes字符串68
2.7数据类型:列表69
2.7.1列表基本特点69
2.7.2列表基本操作69
2.7.3常用列表方法72
2.8数据类型:元组74
2.8.1元组特点74
2.8.2元组的基本操作74
2.8.3元组方法76
2.9数据类型:字典77
2.9.1字典的特点77
2.9.2字典基本操作77
2.9.3字典常用方法79
2.9.4字典视图81
2.10数据类型:文件83
2.10.1打开和关闭文件83
2.10.2读写文本文件83
2.10.3读写二进制文件88
2.10.4用文件存储Python对象88
2.11编程实践:用户数据的序列化89
2.12本章小结90
2.13习题90
第3章程序流程控制91
3.1if分支结构91
3.1.1if语句基本结构91
3.1.2真值测试92
3.1.3if…else三元表达式94
3.2for循环94
3.2.1for循环基本格式94
3.2.2多个变量迭代95
3.2.3break和continue96
3.2.4嵌套使用for循环96
3.3while循环96
3.3.1while循环基本结构97
3.3.2嵌套使用while循环97
3.4迭代和列表解析98
3.4.1迭代98
3.4.2列表解析100
3.4.3zip、map和filter102
3.5编程实践103
3.5.1输出数字金字塔103
3.5.2生成10个两位的随机素数104
3.6本章小结104
3.7习题105
第4章函数与模块106
4.1函数106
4.1.1定义函数106
4.1.2函数调用107
4.1.3函数参数107
4.1.4函数嵌套定义110
4.1.5lambda函数110
4.1.6递归函数110
4.1.7函数列表111
4.2变量作用域111
4.2.1有哪些作用域111
4.2.2global语句113
4.2.3nonlocal语句114
4.3模块114
4.3.1导入模块115
4.3.2导入与执行模块116
4.3.3用import还是from118
4.3.4重新载入模块119
4.3.5模块搜索路径120
4.3.6嵌套导入模块122
4.3.7查看模块对象属性122
4.3.8__name__属性和命令行参数123
4.3.9隐藏模块数据124
4.4模块包125
4.4.1包的基本结构125
4.4.2导入包125
4.4.3相对导入125
4.5编程实践:函数库127
4.5.1实现杨辉三角函数127
4.5.2实现“汉诺塔”模拟函数128
4.5.3交互模式导入函数测试130
4.6本章小结130
4.7习题131
第5章面向对象编程132
5.1理解Python的面向对象132
5.1.1Python的类132
5.1.2Python中的对象133
5.2定义和使用类133
5.2.1定义类133
5.2.2使用类134
5.3对象的属性和方法135
5.3.1对象的属性135
5.3.2对象的方法137
5.3.3类的“伪私有”属性和方法138
5.3.4构造函数和析构函数139
5.4类的继承139
5.4.1简单继承139
5.4.2定义子类的属性和方法140
5.4.3调用超类的构造函数141
5.4.4多重继承141
5.5运算符重载142
5.5.1加法运算重载143
5.5.2索引和分片重载143
5.5.3自定义迭代器对象144
5.5.4定制对象的字符串形式146
5.6模块中的类148
5.7编程实践:用户注册信息管理系统148
5.7.1系统功能预览149
5.7.2系统功能实现151
5.8本章小结155
5.9习题155
第6章异常处理157
6.1Python异常处理机制157
6.1.1为什么使用异常处理157
6.1.2异常处理基本结构159
6.1.3常见异常类型160
6.1.4捕捉多个异常160
6.1.5except…as与统一处理160
6.1.6捕捉所有异常161
6.1.7异常处理结构的嵌套162
6.1.8try…finally终止行为162
6.2主动引发异常163
6.2.1raise语句163
6.2.2异常链:异常引发异常164
6.2.3assert语句164
6.3自定义异常类165
6.3.1异常类的超类165
6.3.2创建自定义异常类166
6.3.3用自定义异常类保存异常日志166
6.4编程实践:为用户注册信息管理系统添加异常处理167
6.5本章小结170
6.6习题170
第7章Python数据库编程171
7.1了解关系数据库171
7.1.1数据模型171
7.1.2关系数据库的概念和特点172
7.1.3关系数据库语言SQL173
7.2访问SQLite数据库179
7.2.1了解Python的SQL接口179
7.2.2连接和创建SQLite数据库179
7.2.3创建表180
7.2.4添加记录180
7.2.5执行查询181
7.2.6使用Row对象182
7.2.7修改记录183
7.2.8删除记录183
7.2.9导入文件中的数据184
7.3访问MySQL数据库186
7.3.1下载安装MySQL187
7.3.2访问MySQL数据库实例194
7.3.3连接MySQL服务器195
7.3.4MySQL数据库操作197
7.3.5MySQL表操作199
7.3.6MySQL查询参数201
7.3.7使用存储过程201
7.3.8使用事务202
7.4访问MicrosoftSQLServer数据库204
7.4.1下载和安装Python的Windows扩展组件204
7.4.2生成ADO的Python支持文件207
7.4.3安装SQLServer207
7.4.4快速生成SQLServer连接字符串211
7.4.5建立SQLServer服务器连接214
7.4.6使用ADO的记录集对象217
7.4.7使用ADO访问Excel文件222
7.5编程实践:基于数据库的用户注册信息管理系统224
7.6本章小结228
7.7习题229
第8章tkinterGUI编程230
8.1tkinter编程基础230
8.1.1第一个tkinterGUI程序230
8.1.2组件打包232
8.1.3添加按钮和事件处理函数234
8.1.4Packer布局236
8.1.5Grid布局237
8.1.6Place布局238
8.1.7使用框架239
8.2tkinter组件239
8.2.1组件通用属性设置239
8.2.2标签组件Label242
8.2.3按钮组件Button244
8.2.4输入组件Entry245
8.2.5列表框组件Listbox249
8.2.6复选框组件Checkbutton250
8.2.7单选按钮组件Radiobutton252
8.2.8旋转框组件Spinbox253
8.2.9滚动条组件Scrollbar254
8.2.10标签框架LabelFrame256
8.2.11文本框组件Text257
8.2.12画布组件Canvas259
8.2.13顶层窗口组件Toplevel261
8.2.14菜单组件Menu263
8.3对话框264
8.3.1消息对话框264
8.3.2文件对话框266
8.3.3颜色对话框269
8.4编程实践:GUI版的用户注册信息管理系统269
8.4.1系统功能预览270
8.4.2显示全部已注册用户270
8.4.3查找/修改/删除用户信息271
8.4.4添加新用户271
8.4.5系统功能实现271
8.5本章小结277
8.6习题278
· · · · · · (收起)
读后感
用户评价
总的来说,这是一本非常优秀的Python 3入门教材。它内容全面,讲解清晰,实操性强,而且价格也非常合理。对于任何想要学习Python的读者来说,这本书都是一个绝佳的选择。它能够帮助你打下坚实的基础,并且激发你对编程的浓厚兴趣。我强烈推荐这本书给所有对Python感兴趣的朋友,相信你和我一样,会在这本书中受益匪浅。它不仅仅是一本书,更像是一位陪伴你成长的编程导师,指引你走向Python编程的广阔世界。
作为一个完全没有编程背景的读者,我最担心的就是看到晦涩难懂的术语和复杂的算法。但这本书在这方面做得相当出色。作者在引入新概念时,都会先用通俗易懂的语言进行解释,并且会追溯到更基础的概念,确保我能够理解。例如,在讲解函数时,作者并没有直接抛出“函数签名”、“参数传递”等术语,而是先从“为什么需要函数”以及“函数的作用”讲起,然后逐步引申到函数的定义和调用。 书中的排版设计也相当友好,代码块和文字的区分清晰,重点内容会用加粗或者下划线的方式突出显示,这让我在阅读时能够快速抓住关键信息。而且,纸质的质量也很好,拿在手里感觉很扎实,印刷清晰,字迹工整,长时间阅读也不会觉得眼睛疲劳。总的来说,这本书为我打开了Python编程的大门,让我不再对编程感到恐惧,反而充满了好奇和探索的欲望。
这是一本让我印象深刻的Python入门书籍,尽管书名里带着“十三五”和“人才培养规划教材”这样略显官方的字样,但它的内容却非常接地气,尤其是对于初学者来说,简直是福音。作者在讲解Python 3基础语法时,循序渐进,逻辑清晰,仿佛一位经验丰富的老师,一步一步引导你走进Python的世界。书中对于变量、数据类型、运算符、控制流(if-else、for、while循环)等基础概念的解释,都非常到位,而且配以大量的代码示例,这些例子不仅简单易懂,更重要的是贴近实际应用场景,让我这种零基础的读者也能快速理解并模仿。 尤其让我赞赏的是,这本书没有一开始就抛出一些过于高深的理论,而是从最基本、最核心的部分讲起,比如如何安装Python环境,如何编写第一个“Hello, World!”程序,这些看似微不足道的细节,对于新手来说却是至关重要的第一步,解决了许多初学者在搭建环境时遇到的困难。书中的讲解风格亲切自然,不会让人产生畏惧感,反而会激发学习的兴趣。我特别喜欢作者在解释某个概念时,会举出生活中与该概念相关的例子,这样一来,抽象的知识点就变得具体生动,更容易记忆和理解。
我认为这本书在讲解Python的模块和包时,做得也非常出色。它不仅仅是简单地介绍了一些常用的内置模块,还深入讲解了如何导入模块、如何创建自己的模块、以及如何组织和管理Python项目。作者通过大量的代码示例,让我理解了模块化的重要性,以及如何利用模块来重用代码、提高开发效率。 我特别喜欢书中关于标准库的介绍,比如`math`模块、`random`模块、`datetime`模块等,这些模块提供了许多非常有用的函数和类,可以帮助我们完成各种各样的任务。他还讲解了如何安装第三方库,以及如何使用`pip`来管理这些库,这对于我今后学习和使用更广泛的Python生态系统至关重要。这本书让我对Python的模块化编程有了更深入的理解。
这本书对于理解Python的面向对象编程(OOP)概念,也做了非常细致的阐述。作者并没有一开始就抛出“类”、“对象”、“继承”、“多态”这些抽象的概念,而是从“为什么需要面向对象”以及“如何用对象来模拟现实世界”开始讲解,逐步引入类和对象的概念。通过书中大量的代码示例,我能够清晰地看到如何定义一个类,如何创建对象,以及如何通过对象来调用类中的方法。 令我印象深刻的是,作者在讲解继承时,举了一个关于“动物”和“狗”、“猫”之间的关系的比喻,这让我能够非常容易地理解“父类”和“子类”的概念,以及子类如何继承父类的属性和方法。他还讲解了如何通过“重写”方法来实现多态,这些内容虽然听起来有些专业,但在书中的讲解下,变得非常容易理解和掌握。这对于我今后深入学习Python的OOP编程打下了坚实的基础。
我曾经尝试过其他一些Python入门书籍,但往往因为内容过于跳跃或者理论性太强,很快就失去了兴趣。然而,这本书却让我感受到了前所未有的学习乐趣。作者的讲解风格非常独特,他能够将一些比较枯燥的编程概念,用非常生动有趣的方式呈现出来。例如,在讲解循环时,他可能会用一个模拟生活场景的例子,让你在不知不觉中就掌握了循环的逻辑。 书中的知识点安排也很有条理,每一章都承接上一章的内容,并且在每一章的末尾都会有小结和练习题,帮助我巩固所学知识。我尤其喜欢那些练习题,它们的设计都非常巧妙,能够让我运用所学的知识来解决实际问题,这不仅锻炼了我的编程能力,也增强了我对Python的信心。读这本书,就像是在和一个经验丰富的老师对话,你总能从他那里学到一些意想不到的技巧和方法。
在学习Python的过程中,我发现很多书籍在讲解文件操作时,都只是简单地提及,但这本书却对文件操作进行了非常深入和细致的讲解。它涵盖了如何读取文本文件、写入文本文件、追加内容到文件,以及如何处理二进制文件。作者不仅介绍了常用的`open()`函数,还详细讲解了不同的文件打开模式(如`'r'`, `'w'`, `'a'`, `'rb'`, `'wb'`等),并且提供了相应的代码示例。 我特别喜欢书中关于使用`with`语句来管理文件对象的讲解,这是一种非常优雅且安全的文件操作方式,能够确保文件在操作完成后被正确关闭,避免资源泄露。书中还讲解了如何处理文件路径、如何创建目录、如何删除文件等常见的I/O操作,这些内容对于编写实际的应用程序来说都非常实用。这本书让我对Python的文件处理能力有了全新的认识。
读完这本书,我最大的感受就是它真正做到了“从零开始,全面掌握”。它不像市面上很多技术书籍那样,一开始就充斥着大量的高级概念和框架,而是非常扎实地从Python 3的基础语法讲起。我认为,扎实的基础对于任何一门编程语言的学习都是至关重要的,而这本书正是抓住了这一点。它详细讲解了Python的变量、数据类型、运算符、流程控制语句(if、elif、else、for、while)、函数、模块等核心概念,并且每一个概念都配有清晰的解释和生动的示例。 我特别喜欢书中在讲解列表、元组、字典、集合等数据结构时,会结合实际的案例来演示它们的使用场景,例如如何用列表来存储一组数据,如何用字典来表示键值对信息,这让我能够更直观地理解这些数据结构的用途和操作方法。而且,书中的代码示例都非常规范,易于阅读和理解,对于我这种初学者来说,可以直接模仿学习,少走了很多弯路。
这本书的另一大亮点在于它的实操性。它不仅仅停留在理论讲解,更注重让读者动手去实践。书中提供了大量的练习题,这些练习题的难度设置也非常合理,从简单的巩固练习到稍有挑战性的综合应用,覆盖了Python 3基础知识的各个方面。我尝试着做了一些练习题,发现它们不仅能够帮助我检验对知识点的掌握程度,还能在解决问题的过程中,培养我的编程思维和解决问题的能力。 最让我惊喜的是,作者在讲解过程中,经常会穿插一些“小贴士”或者“注意事项”,这些细节往往是那些“过来人”才能总结出来的经验,对于避免初学者走弯路非常有帮助。比如,关于代码风格的建议,关于如何调试代码的技巧,这些都能让我在学习过程中少踩很多坑。而且,书中的代码示例都经过精心设计,简洁明了,可以直接复制运行,这为我节省了很多时间,也让我能更快地看到学习成果,增强了我的学习信心。
这本书的另一个突出优点是它对于异常处理的讲解。在编程过程中,错误是不可避免的,而如何优雅地处理这些错误,是衡量一个程序员水平的重要标准。这本书非常详细地讲解了Python的异常处理机制,包括`try-except`块、`else`子句、`finally`子句,以及如何捕获特定的异常类型。作者通过许多生动的例子,让我理解了在什么情况下可能会出现异常,以及如何使用这些机制来编写健壮的代码。 例如,书中在讲解文件读取时,会演示如何使用`try-except`块来捕获`FileNotFoundError`,从而在文件不存在时给出友好的提示,而不是让程序崩溃。他还讲解了如何定义自己的异常类型,以及如何使用`raise`语句来抛出异常。这些内容对于我今后编写更稳定、更可靠的Python程序非常有帮助,让我能够更好地应对各种潜在的错误情况。