Skip to content

Latest commit

 

History

History
141 lines (94 loc) · 5.5 KB

4&6_变量和赋值运算符.md

File metadata and controls

141 lines (94 loc) · 5.5 KB

变量和赋值运算符

从现在开始,你将第一次了解 python 中的变量。这部分内容包含三个视频,演示了你可能会遇到的一些不同情形!

变量 I

python 中经常会用到变量!下面是你在视频中看到的示例:

mv_population = 74728

mv_population 是变量,负责存储 74728 的值。该表达式将右侧的项目赋值给左侧的名称,实际上和数学等式有所不同,因为 74728 不存储 mv_population 的值。

在任何情况下,无论左侧项是什么么,在赋值后,都是右侧值的变量名称。一旦将变量值赋值给变量名称,你便可以通过该名称访问这个值。

变量 II

在此视频中,你发现以下两个表达式在赋值方面是对等的:

x = 3
y = 4
z = 5

以及

x, y, z = 3, 4, 5

但是,在大多数情况下,上面的表达式并不是很好的赋值方式,因为变量名称应该要能够描述所存储的值。

除了要设定具有描述性的变量名称之外,在 Python 中命名变量时,还需要注意以下几个事项:

1. 只能在变量名称中使用常规字母、数字和下划线不能包含空格,并且需要以字母或下划线开头。

2. 不能使用保留字或内置标识符,它们在 Python 中具有重要含义,你将在整个这门课程中学到这些知识。python 保留字列表请参阅此处。创建对值清晰描述的名称可以帮助你避免使用这些保留字。下面是这些保留字的简要表格。

img

3. 在 python 中,变量名称的命名方式是全部使用小写字母,并用下划线区分单词。

正确

my_height = 58
my_lat = 40
my_long = 105

错误

my height = 58
MYLONG = 40
MyLat = 105

虽然最后两个在 python 中可以运行,但是它们并不是在 python 中命名变量的推荐方式。我们命名变量的方式称之为 snake case,因为我们用下划线连接单词。

赋值运算符

以下是视频中的赋值运算符。你还可以按照类似的方式使用 *=,但是与下方所示的运算符相比不太常见。你可以在此处找到我们已经介绍的大部分知识的实践内容:

Assignment Operators

练习:赋值和修改变量

使用变量。这道练习的注释(以 # 开头的行)提供了创建和修改变量的说明。请在每条注释后面根据说明写一行代码。

注意,这段代码使用了科学记数法来定义很大的数字。4.445e8 等于 4.445 * 10 ** 8,也就是 444500000.0

# The current volume of a water reservoir (in cubic metres)
reservoir_volume = 4.445e8
# The amount of rainfall from a storm (in cubic metres)
rainfall = 5e6

# decrease the rainfall variable by 10% to account for runoff
rainfall *= 0.9
# add the rainfall variable to the reservoir_volume variable
reservoir_volume += rainfall
# increase reservoir_volume by 5% to account for stormwater that flows
# into the reservoir in the days following the storm
reservoir_volume *= 1.05
# decrease reservoir_volume by 5% to account for evaporation
reservoir_volume *= 0.95
# subtract 2.5e5 cubic metres from reservoir_volume to account for water
# that's piped to arid regions.
reservoir_volume -= 2.5e5
# print the new value of the reservoir_volume variable
print(reservoir_volume)

更改变量

更改变量会如何影响到用该变量定义的另一个变量?我们来看一个示例。

这是关于山景城人口和人口密度的原始数据。

>>> mv_population = 74728
>>> mv_area = 11.995
>>> mv_density = mv_population/mv_area

现在我们重新定义 mv_population 变量:

>>> mv_population = 75000

习题 2/3

思考一下上方的代码,下面的表达式输出会是什么?

>>> print(int(mv_density))

解决方案:更改变量

对于第一个多选题练习,正确答案是 int(mv_density) 的值没有变化。它依然是 6229。

因为当变量被赋值时,赋给了右侧的表达式的值,而不是表达式本身。在下面的行中:

>>> mv_density = mv_population/mv_area

Python 实际上计算了右侧表达式 mv_population/mv_area 的结果,然后将变量 mv_density 赋为该表达式的值。它立即忘记该公式,仅将结果保存到变量中。

考虑到 mv_population 的变化,为了更新 mv_density 的值。我们需要再次运行下面这行:

>>> mv_density = mv_population/mv_area
>>> print(int(mv_density))    
6252

这是人们往返城市后,出现的新人口密度。所有变量都已更新为 mv_population 变化后的对应结果。