《Python程序设计》——第1章 计算与问题求解简介 1.1 计算与Python简介

简介:

本节书摘来自华章计算机《Python程序设计》一书中的第1章,第1.1节,作者:[美]戴维 I.施奈德(David I. Schneider)著,更多章节内容可以访问云栖社区“华章计算机”公众号查看

第1章 计算与问题求解简介

1.1 计算与Python简介

本书介绍如何使用计算机进行问题求解。虽然编程语言用Python,但是原理适用于大部分现代编程语言。许多示例和习题展示了在真实世界中是如何使用计算机的。下面是你可能提出的计算机和编程方面一些的问题。
问:我们如何与计算机沟通?
答:使用编程语言与计算机沟通。最低级别的是机器语言(machine language),其能被微处理器直接理解,但是很难为人所理解。Python是高级语言(high-level language)。它由人能理解的指令组成,如print(输出)、if(如果)、input(输入)等。其他著名的高级语言如Java、C++、Visual Basic等。
问:如何让计算机执行复杂的任务?
答:任务可分解为一系列指令,称作程序(program),其能以编程语言表示。程序的大小从两三条指令到几百万条指令不等。执行指令的过程称作运行(running)程序。
问:为什么使用Python作为编程语言?
答:许多人认为Python是教初学者编程最好的语言,我们表示赞同。Python也被主要软件公司所使用。Python功能强大、易写易读、容易下载和安装,它能在Windows、Mac和Linux等操作系统上运行。
问:Python的名字是怎么来的?
答:它的名字来源于英国喜剧剧团Monty Python。Python的创始人Guido van Rossum(荷兰人)是该剧团的粉丝。
问:本书使用编辑器IDLE来生成程序。IDLE是如何得名的?
答:IDLE表示集成开发环境(Integrated DeveLopment Environment)。(一些人认为该名字是为了向Monty Python剧团的创始成员Eric Idle致敬。)IDLE编辑器有许多特性(如对代码着色、格式化辅助等)以帮助程序员。
问:Python被认为是一种解释型语言。那么什么是解释型语言?
答:解释型语言使用一个叫作解释器(interpreter)的程序,一次将高级语言的一条语句翻译为机器语言,然后运行这段程序。解释器会发现几种类型的错误,一旦遇到一个错误,将终止程序的运行。
问:术语“程序员”和“用户”是什么意思?
答:程序员(也称为开发者)是指在计算机上编写程序来解决问题的人。在分析问题并制定解决方案之后,程序员编写和测试相应的程序,这段程序用来指导计算机如何实现该方案。程序可能被程序员或者其他人运行多次。用户是任何运行该程序的人。在使用本书的过程中,你既是一个程序员,也是一个用户。
问:术语“代码”是什么意思?
答:程序员写的Python指令称为代码。编写程序的过程通常称作编码(coding)。
问:所有的程序都具有某些共性吗?
答:大部分程序做三件事:接受数据、操作数据和产生结果。这些操作称为输入(input)、处理(processing)和输出(output)。输入数据可能存放于程序中、位于磁盘上或者由用户提供,以响应程序运行时计算机的需求。输入数据的处理发生在计算机内部,可能花费几毫秒到几小时。输出数据显示在屏幕上、打印到打印机上或者记录在磁盘上。以一个计算营业税的程序作为一个简单的例子,输入数据是物品的售价,处理指将售价和营业税率进行相乘,输出数据是相乘的结果,即所需缴纳的营业税。
问:术语“硬件”和“软件”是什么含义?
答:硬件指计算机的物理部件,包括全部的外围设备、中央处理器(CPU)、磁盘驱动器以及全部的机电设备。软件指的是程序。
问:问题是如何使用程序加以解决的?
答:问题求解的过程是:通过仔细地阅读问题以确定给定的数据和所需的输出是什么,然后设计一步一步处理给定数据的过程,最后产生所需的输出。
问:包括Python在内的许多编程语言使用基于零的计数系统。什么是基于零的计数系统?
答:在基于零的计数系统中,从0开始,而不是从1开始计数。例如,在单词“code”中,“c”应该是第0个字母,“o”是第1个字母,以此类推。
问:学习Python有什么先决条件?
答:你应该熟悉在计算机上文件夹(也称作目录)和文件是如何管理的。文件位于存储设备上,如硬盘、U盘、CD和DVD等。传统上,个人计算机的主要存储设备是硬盘和软盘。因此,磁盘(disk)这个词经常用于表示任何存储设备。
问:本书中一个开发好的程序示例是什么?
答:图1-1展示了第3章中一个程序的可能输出结果。当其首次执行时,显示语句“Enter a first name:”。在用户键入一个名字并且按下回车(〈Enter〉或者〈return〉)键后,全部具有该名字的居民都会显示出来。

screenshot


问:程序员是如何生成上述程序的?
答:对于该程序,程序员编写了大概10行代码,以搜索一个名为USpres.txt的文件,并提取所需的姓名。
问:按键显示的约定是什么?
答:组合键〈key1+key2〉的含义是“按住〈key1〉,然后按下〈key2〉”。组合键〈Ctrl+C〉将所选的内容放入剪贴板。组合键〈key1/key2〉的含义是“按下并松开〈key1〉,然后按下〈key2〉”。组合键〈Alt/F〉打开菜单栏上的“文件”菜单。
问:如何获取本书中的程序示例?
答:阅读前言部分,获取如何从Pearson网站上下载示例程序的信息。
问:新的程序存储在哪里?
答:在编写第一个程序之前,应该创建一个专用的文件夹存储程序。

相关文章
|
1月前
|
存储 算法 数据处理
使用Python编写高效的数据处理程序
在当今信息爆炸的时代,数据处理变得越来越重要。本文将介绍如何使用Python语言编写高效的数据处理程序,包括利用Python内置的数据结构和函数、优化算法和并行处理等技术,帮助开发者更好地处理和分析大规模数据。
|
25天前
|
Java Python 开发者
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
线程池详解与异步任务编排使用案例-xian-cheng-chi-xiang-jie-yu-yi-bu-ren-wu-bian-pai-shi-yong-an-li
73 2
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
|
2天前
|
数据采集 JavaScript 前端开发
使用Python打造爬虫程序之破茧而出:Python爬虫遭遇反爬虫机制及应对策略
【4月更文挑战第19天】本文探讨了Python爬虫应对反爬虫机制的策略。常见的反爬虫机制包括User-Agent检测、IP限制、动态加载内容、验证码验证和Cookie跟踪。应对策略包括设置合理User-Agent、使用代理IP、处理动态加载内容、验证码识别及维护Cookie。此外,还提到高级策略如降低请求频率、模拟人类行为、分布式爬虫和学习网站规则。开发者需不断学习新策略,同时遵守规则和法律法规,确保爬虫的稳定性和合法性。
|
3天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
10 0
|
4天前
|
Python Serverless API
Python风险价值计算投资组合VaR、期望损失ES
Python风险价值计算投资组合VaR、期望损失ES
23 0
Python风险价值计算投资组合VaR、期望损失ES
|
9天前
|
网络协议 Java API
Python网络编程基础(Socket编程)Twisted框架简介
【4月更文挑战第12天】在网络编程的实践中,除了使用基本的Socket API之外,还有许多高级的网络编程库可以帮助我们更高效地构建复杂和健壮的网络应用。这些库通常提供了异步IO、事件驱动、协议实现等高级功能,使得开发者能够专注于业务逻辑的实现,而不用过多关注底层的网络细节。
|
14天前
|
算法 Python
78: 计算生日是星期几(python)
78: 计算生日是星期几(python)
|
14天前
|
安全 数据安全/隐私保护 Python
292: 程序设计C 实验五 题目三 设计密码(python)
292: 程序设计C 实验五 题目三 设计密码(python)
|
17天前
|
数据采集 网络协议 API
python中其他网络相关的模块和库简介
【4月更文挑战第4天】Python网络编程有多个流行模块和库,如requests提供简洁的HTTP客户端API,支持多种HTTP方法和自动处理复杂功能;Scrapy是高效的网络爬虫框架,适用于数据挖掘和自动化测试;aiohttp基于asyncio的异步HTTP库,用于构建高性能Web应用;Twisted是事件驱动的网络引擎,支持多种协议和异步编程;Flask和Django分别是轻量级和全栈Web框架,方便构建不同规模的Web应用。这些工具使网络编程更简单和高效。
|
19天前
|
分布式计算 算法 搜索推荐
优化 Python 程序的五大技巧
本文介绍了优化 Python 程序的五大技巧,涵盖了代码结构优化、算法选择、内置函数利用、库的使用以及并行处理等方面。通过对这些技巧的实践,可以提升 Python 程序的性能和效率,从而更好地满足各类应用的需求。

热门文章

最新文章