Python程序设计(第3版) - (EPUB全文下载)

文件大小:0.46 mb。
文件格式:epub 格式。
书籍内容:

Python程序设计(第3版)
第1章 计算机和程序
第2章 编写简单程序
第3章 数字计算
第4章 对象和图形
第5章 序列:字符串、列表和文件
第6章 定义函数
第7章 判断结构
第8章 循环结构和布尔值
第9章 模拟与设计
第10章 定义类
第11章 数据集合
第12章 面向对象设计
第13章 算法设计与递归
附录A Python快速参考
附录B 术语表
欢迎来到异步社区!
第1章 计算机和程序
学习目标
了解计算系统中硬件和软件各自的作用。
学习计算机科学家研究的领域和他们使用的技术。
了解现代计算机的基本设计。
了解计算机编程语言的形式和功能。
开始使用Python编程语言。
学习混沌模型及其对计算的影响。
1.1 通用机器
几乎每个人都用过计算机。也许你玩过计算机游戏,或曾用计算机写文章、在线购物、听音乐,或通过社交媒体与朋友联系。计算机被用于预测天气、设计飞机、制作电影、经营企业、完成金融交易和控制工厂等。
你是否停下来想过,计算机到底是什么?一个设备如何能执行这么多不同的任务?学习计算机和计算机编程就从这些基本问题开始。
现代计算机可以被定义为“在可改变的程序的控制下,存储和操纵信息的机器”。该定义有两个关键要素。第一,计算机是用于操纵信息的设备。这意味着我们可以将信息放入计算机,它可以将信息转换为新的、有用的形式,然后输出或显示信息,让我们解释。
第二,计算机不是唯一能操纵信息的机器。当你用简单的计算器来加一组数字时,就在输入信息(数字),计算器就在处理信息,计算连续的总和,然后显示。另一个简单的例子是油泵。给油箱加油时,油泵利用某些输入:当前每升汽油的价格和来自传感器的信号,读取汽油流入汽车油箱的速率。油泵将这个输入转换为加了多少汽油和应付多少钱的信息。
我们不会将计算器或油泵看作完整的计算机,尽管这些设备的现代版本实际上可能包含嵌入式计算机。它们与计算机不同,它们被构建为执行单个特定任务。这就是定义的第二部分出现的地方:计算机在可改变的程序的控制下运行。这到底是什么意思?
“计算机程序”是一组详细的分步指令,告诉计算机确切地做什么。如果我们改变程序,计算机就会执行不同的动作序列,因而执行不同的任务。正是这种灵活性,让计算机在一个时刻是文字处理器,在下一个时刻是金融顾问,后来又变成一个街机游戏。机器保持不变,但控制机器的程序改变了。
每台计算机只是“执行”(运行)程序的机器。有许多不同种类的计算机。你可能熟悉Macintosh、PC、笔记本计算机、平板计算机和智能手机,但不论实际上还是理论上,都有数千种其他类型的计算机。计算机科学有一个了不起的发现,即认识到所有这些不同的计算机具有相同的力量,通过适当的编程,每台计算机基本上可以做任何其他计算机可以做的事情。在这个意义上说,放在你的办公桌上的PC实际上是一台通用机器。它可以做任何你想要它做的事,只要你能足够详细地描述要完成的任务。现在它是一台强大的机器!
1.2 程序的力量
你已经知道了计算的一个要点:“软件”(程序)主宰“硬件”(物理机器)。软件决定计算机可以做什么。没有软件,计算机只是昂贵的镇纸。创建软件的过程称为“编程”,这是本书的主要关注点。
计算机编程是一项具有挑战性的活动。良好的编程既要有全局观,又要注意细节。不是每个人都有天赋成为一流的程序员,正如不是每个人都具备成为专业运动员的技能。然而,几乎任何人都可以学习如何为计算机编程。只要有一点耐心和努力,本书将帮助你成为一名程序员。
学习编程有很多好理由。编程是计算机科学的一个基本组成部分,因此对所有立志成为计算机专业人员的人都很重要。但其他人也可以从编程经验中受益。计算机已经成为我们社会中的常见工具。要理解这个工具的优点和局限性,就需要理解编程。非程序员经常觉得他们是计算机的奴隶。然而,程序员是真正的控制者。如果你希望成为一个更聪明的计算机用户,本书就是为你准备的。
编程也有很多乐趣。这是一项智力活动,让人们通过有用的、有时非常漂亮的创作来表达自己。不管你信不信,许多人确实爱好编写计算机程序。编程也会培养有价值的问题解决技能,特别是将复杂系统分解为一些可理解的子系统及其交互,从而分析复杂系统的能力。
你可能知道,程序员有很大的市场需求。不少文科生已经将一些计算机编程课程作为一种有利可图的职业选择。计算机在当今的商业世界中如此常见,以至于理解计算机和编程的能力可能就会让你在竞争中占据优势,不论你是何种职业。灵感迸发时,你就准备好写出下一个杀手级应用程序了。
1.3 什么是计算机科学
你可能会惊讶地得知,计算机科学不是研究计算机的。著名计算机科学家Edsger Dijkstra曾经说过,计算机之于计算机科学,正如望远镜之于天文学。计算机是计算机科学中的重要工具,但它本身不是研究的对象。由于计算机可以执行我们描述的任何过程,所以真正的问题是:“我们可以描述什么过程?”换句话说,计算机科学的根本问题就是“可以计算什么”。计算机科学家利用许多研究技术来回答这个问题。其中三种主要技术是设计、分析和实验。
证明某个问题可以解决的一种方式就是实际设计解决方案。也就是说,我们开发了一个逐步的过程,以实现期望的结果。计算机科学家称之为“算法”。这是一个奇特的词,基本上意味着“菜谱”。算法设计是计算机科学中最重要的方面之一。在本书中,你会看到设计和实现算法的技术。
设计有一个弱点,它只能回答“什么是可计算的”。如果可以设计一个算法,那么问题是可解的。然而,未能找到算法并不意味着问题是不可解的。这可能意味着我只是不够聪明,或者碰巧还没有找到正确的想法。这就是引入分析的原因。
分析是以数学方式检查算法和问题的过程。计算机科学家已经指出,一些看似简单的问题不能通过任何算法解决。另一些问题是“难解的”(intractable)。解决这些问题的算法需要太长时间,或者需要太多存储器,因而没有实际价值。算法分析是计算机科学的重要组成部分,在整本书中,我们将探讨一些基本原则。第13章有不可解决和难解问题的例子。
一 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » Python程序设计(第3版) - (EPUB全文下载)