《Python游戏编程快速上手》——2.3 在变量中存储值

简介:

本节书摘来自异步社区《Python游戏编程快速上手》一书中的第2章,第2.3节,作者[美] Al Sweigart(斯维加特),李强 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.3 在变量中存储值

也可以把表达式的计算结果的值存储到变量中,以便后面可以使用它。可以把变量当做是一个可以保存值的盒子。

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

>>> spam = 15 
>>>

这将把值15存储到spam变量的盒子中,如图2-4所示。名字“spam”是盒子的标签(Python由此可以识别变量),而值写在盒子中的一张便签上。


6e065184ba54b93bf77eafd2fe6405c9155e12cc

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

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

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

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

>>> spam = 15 
>>> spam 
15

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

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

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

spam + 5 
      ▼  
  15 + 5 
      ▼
     20

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

>>> spam = 15 
>>> spma 
Traceback (most recent call last): 
   File "<pyshell#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。覆盖的过程如图2-5所示。


aef1379c20b024023703efcdbe571450129b51c3

甚至可以使用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

使用多个变量

在程序中,可以根据需要创建任意多个变量。例如,让我们给名为eggs和bacon的两个变量分配不同的值,如下所示:

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

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


d2e4b535892ad85161c2db9e6aeeabfb57c136a6

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

>>> bacon = 10 
>>> eggs = 15 
>>> spam = bacon + eggs 
>>> spam 
     25

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

相关文章
|
1月前
|
存储 开发者 索引
python怎么判断变量的数据类型
python怎么判断变量的数据类型
29 0
|
1月前
|
存储 算法 开发者
Python新手常见问题二:如何正确理解和使用变量?
在Python编程的世界中,变量是程序设计的基础元素之一。它就像是一个可以存储数据的容器,帮助我们管理和操作程序中的各种信息。对于初学者而言,正确理解和使用变量至关重要,因为它是构建复杂逻辑、实现高效算法以及创建实用程序的关键所在。本文将带领Python新手深入探讨变量的本质,并通过实例讲解如何在实际编程场景中有效运用。
23 1
|
1月前
|
存储 JSON 数据库
在Python中在文件中存储数据
在Python中在文件中存储数据
11 1
C4.
|
1月前
|
存储 Java Python
Python的变量
Python的变量
C4.
18 0
|
3天前
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
|
25天前
|
数据采集 存储 Web App开发
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
|
27天前
|
存储 Python
Python变量与数据类型探秘
本文介绍了Python编程中的核心概念——变量和数据类型。变量是存储数据的标识符,无需预声明类型,类型由赋值自动确定。命名规则要求变量名具有描述性,以字母或下划线开头,区分大小写。Python支持多种数据类型:数值(整数、浮点数、复数)、字符串、列表、元组、字典和集合。理解这些基本概念和类型特性对编写高效Python代码至关重要。
|
28天前
|
存储 算法 数据挖掘
【Python 基础教程 25】全面入门指南:深度解析Python3的命名空间,作用域及变量使用教程
【Python 基础教程 25】全面入门指南:深度解析Python3的命名空间,作用域及变量使用教程
50 0
|
1月前
|
数据处理 索引 Python
python变量以及数据类型(四)
python变量以及数据类型(四)
19 1
|
1月前
|
存储 Python
python变量以及数据类型(三)
python变量以及数据类型(三)
23 2

热门文章

最新文章