目录
写在前面
究竟是什么书如此火爆,至今已更新至第六版?本期小编给大家推荐一本精彩的书籍,学习Python的小伙伴一定不要错过喔~
推荐图书
内容简介
《学习Python(第6版)》深入浅出地讨论了大部分Python 编程主题。利用从本书中学到的Python 知识,读者可以掌握高质量软件研发背后的逻辑。书中采用一种易懂的、循序渐进的方法来介绍基本的编程概念,先从控制结构、函数和列表等概念开始,再深入讨论类。这有助于确保读者理解基本的编程概念,并知道如何解决现实中的问题。书中每一章都包括清晰美观的代码清单、真实世界的例子和大量练习。
《学习Python(第6版)》针对Python 3.11 进行了全面更新,新增或改进了大量主题,尤其适合想要高效掌握Python 新特性的读者。
作者简介
托尼·加迪斯(Tony Gaddis)
美国国家教职员工和组织发展研究所( NISOD)优秀教师和北卡罗莱纳社区大学年度优秀教师,从事计算机教学工作超过二十年,具有相当丰富的教学经验。他是畅销教材系列Starting Out with的主要负责人,此系列覆盖C++、Java、C#、Python和Alice等主流编程语言。
周靖
微软最有价值专家(MVP),具有深厚的程序开发功底和良好的文学素养,翻译风格严谨、准确、朴实、流畅,深受读者欢迎。代表译著有《Visual C#从入门到精通》(第10版)、《C# 12.0本质论》(第8版)、《深入CLR》(第4版)、《 Windows核心编程》(第5版)、《C++入门经典》(第10版)和《学习C++20(中文版)》等。
前言概述
欢迎阅读《学习Python 中文版》(第6版)。本书使用Python 语言来讲解编程概念和传授解决问题的技能,不要求你之前有任何编程经验。通过容易理解的例子、伪代码、流程图和其他工具,你将学会如何设计程序的逻辑,然后用Python 实现这些程序。本书是编程入门课程或以Python 为语言的编程逻辑和设计课程的理想选择。
和Starting Out With 系列的其他所有书籍一样,本书的特点是内容清晰、友好、易懂。另外,书中提供丰富的示例程序,它们都简洁而实用。一些例子比较短,强调了当前的特定编程主题,另一些例子侧重于问题的解决,涉及的东西会多一些。每章都提供一个或多个称为“聚光灯”的案例学习,对一个具体问题进行逐步分析,并展示如何解决这个问题。
首先讲控制结构,然后讲类
虽然Python 是一种完全面向对象的编程语言,但你不必理解面向对象的概念就可以开始用Python 进行编程。本书首先介绍数据存储、输入和输出、控制结构、函数、序列/列表、文件I/O 以及创建标准库的类的对象等基础知识。然后,介绍如何编写类,探索继承和多态性的主题以及如何编如何编写递归函数。最后,介绍如何开发简单的、事件驱动的GUI 应用程序。
第6版的变化
本书沿用第5 版的写作风格,同时也做了不少补充和改进,总结如下:
• 针对Python 3.11 进行全面更新 本书使用最高到Python 3.11 版的语言特性
• with 语句 第6 章现在引入with 语句来作为打开文件的一种方式,全书增加了许多with 语句与文件结合使用的例子
• 多重赋值 这一版在第2 章引入了多重赋值的概念
• 单行if 语句 第3 章专门用一节来解释单行if 语句
• 条件表达式 第3 章介绍了条件表达式和三元操作符
• 海象操作符和赋值表达式 第3 章新增一节来讲述海象操作符和赋值表达式,这一章提供在if 语句中使用赋值表达式的例子,第4 章提供在while 循环中使用赋值表达式的例子
• while 循环作为计数控制循环 第4 章新增一节来讲述计数器变量和如何使用while 语句编写计数控制循环
• 单行while 循环 第4 章新增一节来讲述单行while 循环
• 为循环结构使用break 语句、continue 语句和else 语句 第4 章新增一节来讲述如何为循环使用break 和continue,以及如何为循环使用else 子句,后者为Python 独有
• 仅关键字参数 第5 章讨论仅关键字参数以及如何在函数中实现它们
• 仅位置参数 第5 章讨论仅位置参数以及如何在函数中实现它们
• 默认实参 第5 章新增一节来讲述函数的默认实参
• 为列表使用count 和sum 第7 章讨论如何为列表使用count 方法和sum 函数
• 在元组中存储可变对象 第7 章新增一节来讲述元组的“不可变”性,以及如何在元组中存储“可变”对象
• 字典合并和更新操作符 第9 章新增一节来讨论字典的合并和更新操作符。
各章内容概览
第1 章“计算机和编程概述”
本章首先以具体和容易理解的方式来诠释计算机如何工作、数据如何存储和处理,以及我们为什么要用高级语言来写程序。然后介绍Python 语言、交互模式、脚本模式以及Python 自带的IDLE 开发环境。
第2 章“输入、处理和输出”
本章介绍程序开发周期、变量、数据类型以及用顺序结构来写的简单程序,学生将学习如何编写简单的程序,从键盘读取输入,进行数学运算,并生成格式化的屏幕输出。然后还要介绍作为程序设计工具的伪代码和流程图。本章最后介绍海龟图形库(选读)。
第3 章“判断结构和布尔逻辑”
在本章中,学生将学习关系操作符和布尔表达式,并了解如何用判断结构控制程序的执行流程。本章要讨论if 语句、if-else 语句和if-elif-else 语句,还要讨论嵌套判断结构和逻辑操作符。本章包括一个选读的海龟图形小节,讨论了如何使用判断结构来测试海龟的状态。
第4 章“重复结构”
本章介绍如何使用while 和for 这两个循环结构,讨论计数器、累加器和哨兵,讨论如何利用循环结构来校验输入。本章最后的选读小节讨论如何在循环中利用海龟图形库来绘制图形。
第5 章“函数”
本章首先介绍如何编写和调用不返回值的函数(void)(译注:和其他语言不同,Python 并没有专门提供void 关键字。),解释使用函数对程序进行模块化的好处并讨论自上而下设计方法。然后讨论如何向函数传递实参,讨论常用的库函数——例如用于生成随机数的函数。在讨论完如何调用库函数和使用其返回值之后,将讨论如何编写和调用自定义函数。最后讨论如何使用模块来组织函数。选读小节讨论如何使用函数对海龟图形代码进行模块化。
第6 章“文件和异常”
本章介绍顺序文件输入和输出,学生将学习如何读写大型数据集,并将数据作为字段和记录来存储。最后讨论异常,并展示如何编写异常处理代码。
第7 章“列表和元组”
本章介绍Python 的“序列”概念,并探讨两种常见的 Python 序列:列表和元组,学生将学习如何使用列表进行类似于数组的操作——例如在列表中存储对象、遍历列表、查找列表中的数据项以及对列表项进行求和/ 求平均值。本章讨论列表推导式、切片以及许多列表方法。我们兼顾一维列表和二维列表。本章还讨论如何用matplotlib 包提供的功能将列表数据绘制成图表。
第8 章“深入字符串”
本章更深入地讨论字符串处理,讨论了字符串切片和遍历字符串中的单独字符的算法,并介绍如何用几个内置函数和字符串方法来进行字符和文本处理。本章还有字符串标记化(tokenizing)和解析CSV 文件的例子。
第9 章“字典和集合”
本章介绍字典和集合数据结构,讨论如何在字典中以“键值对”的形式存储数据、查找值、更改现有值、添加新的键值对、删除键值对以及如何写字典推导式,还要学习如何在集合中将值作为具有唯一性的元素来存储,并执行常见的集合操作——例如并集(union)、交集(intersection)、差集(difference) 和对称差集(symmetric difference),还要介绍了集合推导式,最后讨论对象序列化(Python 称为“腌制”),并介绍Python 的pickle 模块。
第10 章“类和面向对象编程”
本章比较过程式和面向对象编程实践,讨论类和对象的基本概念,讨论属性、方法、封装和数据隐藏、__init__ 方法(类似于构造函数)、取值方法(accessor)和赋值方法(mutator)。学生将学习如何用UML对类进行建模,以及如何从特定的问题中找出合适的类。
第11 章“继承”
本章继续研究类,讨论继承和多态性,所涉及的主题包括超类(基类)、子类(派生类)、__init__ 方法在继承中的作用、方法重写和多态性。
第12 章“递归”
本章讨论递归以及如何用它优雅地解决一些令人挠头的问题,展示了递归调用的一个可视化跟踪并讨论递归应用程序,介绍如何用递归算法来完成许多任务——包括计算阶乘,寻找最大公约数(GCD),对列表中的一系列数值进行求和。另外,还要介绍了经典的汉诺塔例子,这个问题特别适合用递归来求解。
第13 章“GUI 编程”
本章讨论如何使用 Python 的tkinter 模块来设计 GUI 应用程序,讨论许多基本组件,例如标签、按钮、文本输入框、单选钮、复选框、列表框和对话框等,介绍事件在GUI应用程序中如何工作,以及如何编写回调函数来处理事件,最后还讨论了Canvas(画布)组件以及如何使用它来绘制直线、矩形、椭圆、弧线、多边形和文本。
第14 章“数据库编程”
本章介绍数据库编程。首先讲述数据库的基本概念——例如表、行和主键,然后讨论如何在Python 中使用SQLite 连接数据库,讨论SQL,学生将学习如何执行查询以及如何执行语句来查找行、添加新行、更新现有行和删除行。本章演示执行CRUD(创建、读取、更新和删除)操作的应用程序,最后讨论关系数据库。
附录 A“安装 Python”
本附录解释如何下载和安装最新的 Python 发行版。
附录B“IDLE 简介”
本附录概述随同Python 安装的IDLE 集成开发环境。
附录 C“ASCII 字符集”
本附录列出完整ASCII 字符集供参考。
附录D“预定义颜色名称”
本附录列出可用于海龟图形库、matplotlib 和 tkinter 的预定义颜色名称。
附录 E“import 语句”
本附录讨论使用 import 语句的各种方法。例如,可以使用import 语句来导入模块、类、函数或者为模块指定别名。
附录F“用format() 函数格式化输出”
本附录讨论format() 函数的用法, 介绍了如何使用它的格式说明符(format specifier)来控制数值的显示方式。
附录G“用pip 工具安装模块”
本附录讨论如何使用 pip 工具安装来自 Python Package Index(PyPI)的第三方模块。
附录 H“知识检查点答案”
本附录针对散布于全书的“知识检查点”给出答案。
本书的组织方式
本书以循序渐进的方式讲授编程。每一章都涵盖一组主要的主题,并随着讲解的进行逐步建立起知识体系。尽管各章很容易按照现有的顺序讲授/ 自学,但在讲授/ 自学顺序上有一些灵活性。下图展示了各章的依赖性。每个方框都代表一章或多章。箭头从一章指向在它之前必须掌握的前一章内容。
本书特色
概念陈述 本书的每个主题小节都从陈述一个概念开始,概括当前小节的主要内容
示例程序 每一章都提供大量或完整或不完整的示例程序,每个旨在强调当前的主题而设计的
聚光灯 每一章都有一个或多个“聚光灯”案例研究,会详细地、逐步骤地分析问题,并告诉学生如何解决这些问题
视频讲解 专门为本书开发的“视频讲解”(VideoNote)网上视频,可在https://media.pearsoncmg.com/ph/esm/ecs_gaddis_sowpython_6e/cw/ 观看。该图标分布于全书,提醒学生观看针对特定主题的视频。由于是英文版视频,所以本书的“视频讲解”保留了视频的英文名称,方便在上述页面上查找
注意 全书多处提供类似段落,用于简要解释与当前主题相关的有趣或常被误解的要点
提示 旨在告诉学生用于处理不同编程问题的最佳技术
警告 旨在提醒学生注意可能导致程序出错或数据丢失的编程技术或做法
检查点 散布于每一章,旨在检查学生是否已经掌握了一个新的主题
复习题 每章都提供了一套全面而多样的复习题和练习,包括选择题、判断题、算法工作台和简答题
编程练习 每一章都提供大量编程练习,旨在巩固学生对当前所学主题的掌握程度补充材料
• 学生资源 出版商为本书提供了许多学生资源。以下资源可从https://media.pearsoncmg.com/ph/esm/ecs_gaddis_sowpython_6e/cw/ 获取:
◆ 书中所有示例程序的源代码
◆ 英文版勘误(中文版资讯和勘误请访问https://bookzhou.com)
◆ 本书配套的英文版VideoNote(视频讲解)
• 中文版资源 本书的源代码大部分都进行了中文本地化,包括注释、程序中显示的文本等。除此之外,还对一些bug 进行了修正。请访问https://bookzhou.com 并根据需要下载中文版资源。
• 教师资源 以下补充材料仅向提出申请的在校教师提供:
◆ 所有复习题的答案
◆ 所有编程练习的答案
◆ 各章的PowerPoint 幻灯片
◆ 题库
推荐理由
《学习Python(第6版)》是一本深受欢迎的编程入门书籍,它不仅适合Python初学者,也适用于有一定经验的程序员。这本书由托尼·加迪斯撰写,以其清晰的讲解、详尽的示例和实践性指导而著称。作者将复杂的概念分解为易于理解的小块,使学习过程变得轻松愉快。
该书覆盖了Python语言的核心语法和基本概念,同时也介绍了高级主题如网络编程、数据库接口、图形用户界面等,这使得读者能够全面掌握Python的使用方法。此外,《学习Python(第6版)》紧跟Python 3的最新发展,确保你学到的是最现代的编程技巧和最佳实践。
通过这本书,你可以从零开始构建扎实的Python基础,并逐渐过渡到解决实际问题的项目中去。无论你是想从事数据分析、Web开发还是自动化脚本编写,本书都是一个不可或缺的学习资源。它不仅仅是一本教程,更是一个宝贵的参考手册,可以伴随你在Python编程的道路上不断前行。
写在最后
我是一只有趣的兔子,感谢你的喜欢!