百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

如何使用Python的交互式Shell以及进行基本的算术运算?

off999 2024-10-11 14:02 20 浏览 0 评论

1.1一些简单的数学知识

首先,我们将使用Python来解决-一些简单的数学问题。

交互式shell可以像计算器一样工作。在交互式shell的>>>提示符之后, 输入2+2,然后按下回车键(有些键盘上显示为RETURN键)。图1-1展示了这个数学问题在交互式shell中的样子,注意,它给出的响应是数字4。

这道数学题就是一个简单的编程指令。 加号(+)告诉计算机把数字2和2相加。计算机这么做了,并且在下一行中用数字4作为响应。表1-1列出了Python中其他可用的数学符号。

减号(-)是数字相减。乘号(*)是数字相乘。除号(/) 是数字相除。当以这种方式使用时,+、一、*和/叫做操作符( operator)。操作符告诉Python要对它们旁边的数字进行何种运算。

1.1.1整数和浮点数

整数( integer )就是诸如4、99或者0这样的完整的数。浮点数(简写为float )就是诸如3.5.42.1或者5.0这样的分数或小数。在Python中 ,数字5是整数,但是5.0是浮点数。

这些数字都称为值(value ) (稍后,我们将介绍数字以外的其他的值)。在刚才我们在shell中输入的数学问题中,两个2都是整数值。

1.1.2表达式

数学题2 + 2就是表达式( expression)的一个例子。如图1-2所示,表达式是由操作符(数学符号)所连接起来的值(数字)组成的,它会产生可供代码使用的一个新的值。

计算机可以在几秒钟之内解决数百万道这样的数学题。

尝试在交互式shell中输入一些这样的数学问题,每输入完一道题后按一下回车键。

>>> 2+2+2+2+2
10
>>> 8*6
48
>>> 10-5+6
11
>>>2+2
4

这些表达式看上去都像是常规的数学公式,但是注意2+2的示例中的所有的空格。在Python中 ,在值和操作符之间可以添加任意多个空格。然而,当把指令输入到交互式shel中时,必须总是从一行的开头开始执行(即指令之前不能有空格)。

1.2 计算表达式

当计算机求解表达式10 + 5并且得到值15的时候,它就已经计算了这个表达式。计算一个表达式就是把表达式规约为一个数字,就像解答一道数学题而把问题简化成一个数字一样,这个单个的数字就是答案。表达式10+ 5和表达式10 + 3 + 2的计算结果都是15。

当Python计算一个表达式的时候,它就像你在做数学题的时候一样,按照顺序进行操作。有如下的几条规则:

●位于括号之中的表达式部分先计算;

●乘法和除法在加法和减法之前计算;

●从左向右进行计算。

表达式1 +2*3+ 4的计算结果是11,而不是13,因为先计算2*3。如果表达式是(1+2)*(3+4), 那么将会计算为21。因为(1+2)和(3+4)位于括号之中,它们会在乘法之前计算。

表达式可以是任意大小的,但它们总是会求解得到一个数字。即便单个值也可以是表达式:表达式15的计算结果就是值15。例如,表达式8*3/2+2+7-9,通过如下步骤,其计算结果是值12.0:

即便是计算机会执行所有这些步骤,我们在交互式shell中也看不到所有这些步骤。交互式shell只是把结果展示给我们。

>>> 8*3/2+2+7-9
12.0

需要注意的是,除法操作符(/)的运算结果是一个浮点数,例如,24/2的结果是12.0。即便是只使用了一个浮点数的数学运算,其结果也是浮点数,所以12.0 +2的结果是14.0。

1.3 语法错误

如果在交互式shell中输入5+,将会得到如下的一条错误消息。

>>> 5+
SyntaxError: invalid syntax

之所以会产生这个错误,是因为5+不是一个表达式。表达式通过操作符来连接值,因此加法操作符+期待在其前面和后边都有一个值。当漏掉了期待的值的时候,就会出现一条错误消息。

SyntaxError表示Python不理解这条指令,因为你的输入不正确。计算机编程并不只是告诉计算机要做什么,还要知道如何正确地向计算机传达指令。

但是,不要担心出错。错误并不会对计算机造成危害。只要在交互式shell中的下一个>>>提示符处。重新输入正确的指令即可。

1.4在变量中存储值

当表达式计算为一个值的时候,我们可以把这个值存储到变量中,以便在后面可以使用它。我们把变量当做是一个可以保存值的盒子。

一条赋值语句 ( assignment statement )会把一个值保存到一个变量中。输入变量的名称,后边跟着等号(=称为赋值操作符) , 然后是要存储到这个变量中的值。例如,在交互式shell中输入spam= 15:

>>> spam = 15
>>>

这将把值15存储到spam变量的盒子中,如图1-3所示。

当按下回车键时,你不会看到任何响应。在Python中,如果没有出现错误,就表示成功地执行了指令。然后将会出现>>>提示符,你就可以输入下一条指令了。

和表达式不同,语句是不会计算为任何值的指令。正因为如此,在spam= 15之后,交互式shell的下一行中没有显示任何的值。如果你不清楚哪些指令是表达式,哪些指令是语句,那么请记住:表达式会得到一个值,而任何其他类型的指令都是一条语句。

变量保存的是值而不是表达式。例如,考虑一下语句spam= 10 + 5和spam= 10+ 7- 2中的表达式。它们的运算结果都是15。最终结果是相同的:两条赋值语句都把值15保存到了变量spam中。

一个好的变量名能够描述它所包含的数据。想象一下,你将要搬到一个新房子中,并且将你用来搬家的所有精子都贴上一个名为“东西 ( stuf )”的标签。你什么东西也找不到!在本书中,为变量而使用的变量名的例子是spam、eggs和bacon等。

第一次在赋值语句中使用一个变量的时候, Python将会创建该变量。要查看变量中的值 ,在交互式shell中输入该变量的名称:

>>> 2+2+2+2+2
10
>>> 8*6
48
>>> 10-5+6
11
>>>2+2
4

表达式spam得到了变量spam中的值,即15。可以在表达式中使用变量。尝试在交互式shell中输入如下指令:

>>> spam = 15
>>> spam + 5
20

我们已经把变量spam的值设置为15 ,所以输入spam+ 5就像是输入表达式15+5一样。下面是spam +5的运算步骤:

在赋值语句创建变量之前,不能使用该变量。否则,Python将会给出一个NameError错误,因为尚不存在该名称的变量。输错了变量名称也会得到这样一个错误 :

>>> spam = 15
>>> spma
Traceback (most recent call last):
File "<pyshe11#8>", line 1, in <module>
spma
NameError: name 'spma' is not defined

出现这个错误,是因为虽然有spam变量,但是并没有名为spma的变量。

可以通过输入另一条赋值语句来修改变量中存储的值。 例如,尝试在交互式shell中输入如下语句:

>>> spam = 15
>>> spam + 5
20
>>> spam = 3
>>> spam + 5
8

当第一次输入spam + 5时,表达式的计算结果是20,因为我们把15存储在spam中。然而,当输入spam= 3时,用值3替代(或覆盖)了值15,因为变量一次只能保存一个值。 现在,当我们输入spam+ 5时,表达式的计算结果是8,因为现在spam的值是3。覆盖的过程如图1-4所示。

我们甚至可以使用spam变量中的这个值,来给spam赋一个新的值 :

>>> spam = 15
>>>spam=spam+5
20

赋值语句spam = spam + 5的意思是:“spam变量中的新值是, spam当前的值加上5”。通过在交互式shell中输入如下的语句,让spam中的值持续几次增加5 :

>>> spam = 15
>>>spam=spam+5
>>>spam=spam+5
>>>spam=spam+5
>>> spam
30

在这个示例中,我们在第1条语句中给spam赋了一个15的值。在下一条语句中,我们用spam的值加上了5 ,并且将新的值spam+5赋值给了spam,这个表达式会计算为20。当这么做3次以后, spam的值最终为30。

到目前为止,我们只看到了一个变量,但是,在程序中,你可以根据需要创建任意多个变量。例如,让我们给名为eggs和bacon的两个变量分配不同的值,如下所示:

>>> bacon = 10
>>> eggs = 15

现在,变量bacon中是10,变量eggs中是15。每个变量都有自己的盒子,其中拥有其自己的值,如图1-5所示。

尝试在交互式shell中输入spam = bacon + eggs,然后查看spam中的新值:

>>> 8*3/2+2+7-9
12.0

现在,spam中的值是25。当把bacon和eggs相加时,就是把它们的值10和15相加。变量包含的是值而不是表达式。把值25赋给变量spam ,而不是把表达式bacon + eggs赋给变量。在spam = bacon + eggs赋值语句之后,对于bacon或者eggs的修改不会再影响到spam。

1.5 小结

在本章中,我们介绍了关于编写Python指令的基础知识。计算机不具备人的常识,并且只能理解特定的指令。因此,Python需要你准确地告诉它要做什么工作。

表达式是用操作符(如+或- )把值(如2或5 )组合起来。Python可以计算表达式,也就是把表达式规约为一个值。可以把值保存在变量中,以便程序可以记住它们,并且随后可以使用它们。

在Python中,有许多其他类型的操作符和值。在下一章中,我们将介绍更多的基础概念,并且编写第一个程序。我们还会介绍在表达式中使用文本。Python不仅能够处理数字,它的功能比计算器要强大得多。

本文摘自《Python游戏编程快速上手(第4版)》

Python是一种高级程序设计语言,因其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言。

本书通过编写一个个小巧、有趣的游戏来教授Python编程,并且采用直接展示游戏的源代码并通过实例来解释编程的原理的方式。全书共21章, 12个游戏程序和示例贯穿其中,介绍了Python基础知识、数据类型、函数、流程控制、程序调试、流程图设计、字符串操作、列表和字典、笛卡尔坐标系、密码学基础、游戏AI模拟、动画图形、碰撞检测、声音和图像等方方面面的程序设计知识。本书可以帮助读者在轻松有趣的过程中,掌握Python游戏编程的基本技能。

本书适合不同年龄和层次的Python编程初学者阅读。

更多相关内容文章

程序员10被效率学Python编程:如何用容器保存对象?掌握这三招

零基础学Python编程:你所不知道的Python | 字符串操作方法大全

相关推荐

面试官:来,讲一下枚举类型在开发时中实际应用场景!

一.基本介绍枚举是JDK1.5新增的数据类型,使用枚举我们可以很好的描述一些特定的业务场景,比如一年中的春、夏、秋、冬,还有每周的周一到周天,还有各种颜色,以及可以用它来描述一些状态信息,比如错...

一日一技:11个基本Python技巧和窍门

1.两个数字的交换.x,y=10,20print(x,y)x,y=y,xprint(x,y)输出:102020102.Python字符串取反a="Ge...

Python Enum 技巧,让代码更简洁、更安全、更易维护

如果你是一名Python开发人员,你很可能使用过enum.Enum来创建可读性和可维护性代码。今天发现一个强大的技巧,可以让Enum的境界更进一层,这个技巧不仅能提高可读性,还能以最小的代价增...

Python元组编程指导教程(python元组的概念)

1.元组基础概念1.1什么是元组元组(Tuple)是Python中一种不可变的序列类型,用于存储多个有序的元素。元组与列表(list)类似,但元组一旦创建就不能修改(不可变),这使得元组在某些场景...

你可能不知道的实用 Python 功能(python有哪些用)

1.超越文件处理的内容管理器大多数开发人员都熟悉使用with语句进行文件操作:withopen('file.txt','r')asfile:co...

Python 2至3.13新特性总结(python 3.10新特性)

以下是Python2到Python3.13的主要新特性总结,按版本分类整理:Python2到Python3的重大变化Python3是一个不向后兼容的版本,主要改进包括:pri...

Python中for循环访问索引值的方法

技术背景在Python编程中,我们经常需要在循环中访问元素的索引值。例如,在处理列表、元组等可迭代对象时,除了要获取元素本身,还需要知道元素的位置。Python提供了多种方式来实现这一需求,下面将详细...

Python enumerate核心应用解析:索引遍历的高效实践方案

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。根据GitHub代码分析统计,使用enumerate替代range(len())写法可减少38%的索引错误概率。本文通过12个生产...

Python入门到脱坑经典案例—列表去重

列表去重是Python编程中常见的操作,下面我将介绍多种实现列表去重的方法,从基础到进阶,帮助初学者全面掌握这一技能。方法一:使用集合(set)去重(最简单)pythondefremove_dupl...

Python枚举类工程实践:常量管理的标准化解决方案

本文通过7个生产案例,系统解析枚举类在工程实践中的应用,覆盖状态管理、配置选项、错误代码等场景,适用于Web服务开发、自动化测试及系统集成领域。一、基础概念与语法演进1.1传统常量与枚举类对比#传...

让Python枚举更强大!教你玩转Enum扩展

为什么你需要关注Enum?在日常开发中,你是否经常遇到这样的代码?ifstatus==1:print("开始处理")elifstatus==2:pri...

Python枚举(Enum)技巧,你值得了解

枚举(Enum)提供了更清晰、结构化的方式来定义常量。通过为枚举添加行为、自动分配值和存储额外数据,可以提升代码的可读性、可维护性,并与数据库结合使用时,使用字符串代替数字能简化调试和查询。Pytho...

78行Python代码帮你复现微信撤回消息!

来源:悟空智能科技本文约700字,建议阅读5分钟。本文基于python的微信开源库itchat,教你如何收集私聊撤回的信息。[导读]Python曾经对我说:"时日不多,赶紧用Python"。于是看...

登录人人都是产品经理即可获得以下权益

文章介绍如何利用Cursor自动开发Playwright网页自动化脚本,实现从选题、写文、生图的全流程自动化,并将其打包成API供工作流调用,提高工作效率。虽然我前面文章介绍了很多AI工作流,但它们...

Python常用小知识-第二弹(python常用方法总结)

一、Python中使用JsonPath提取字典中的值JsonPath是解析Json字符串用的,如果有一个多层嵌套的复杂字典,想要根据key和下标来批量提取value,这是比较困难的,使用jsonpat...

取消回复欢迎 发表评论: