变量
与其他编程语言一样,在 Python 中通常必须使用变量来保存值供以后使用。 Python 使用等号(“=”)向变量赋值:
length = 15
width = 3 * 5
length * width
输出为:
225
如果你具有其他语言(如 Java)的编程背景,你可能注意到,当我们声明 length 和 width 变量时,我们没有指定变量类型。 Python 不要求你指定类型,而且你还可随意更改变量类型。 例如:
length = 15
length
输出为:
15
可将 length 更改为浮点:
length = 15.0
length
输出为:
15.0
或者,可将 length 更改为字符串:
length = 'fifteen'
length
输出为:
'fifteen'
要实现 Python 中变量的所有灵活性,你仍然必须定义它们。 如果尝试使用未定义的变量,将生成错误:
n
错误输出为:
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-34-ab0680a89434> in <module>
----> 1 n
NameError: name 'n' is not defined
在 Python 的交互模式和 Jupyter Notebook 中,可使用内置变量 _(下划线)。 此变量会自动采用上次打印的表达式的值。 例如,从以下表达式开始:
tax = 11.3 / 100
price = 19.95
price * tax
输出为:
2.25435
然后,使用 _ 引用下一个表达式中最近计算的结果:
price + _
输出为:
22.204349999999998
始终将 _ 变量视为只读。 向它显式赋值将创建一个同名的独立局部变量,还将屏蔽内置变量及其行为。
然而,我们最后的输出有点乱。 在处理价格时,我们通常最多使用两个小数点。 若要清理输出,可使用称为 round() 的内置函数。
round(_, 2)
输出为:
22.2
本模块稍后将介绍 Python 中内置的其他一些函数,此外,我们将在稍后的模块中介绍用户定义的函数。
不必一次定义一个变量。 可在一行上定义多个变量:
a, b, c, = 3.2, 1, 6
a, b, c
输出为:
(3.2, 1, 6)
还可增加变量赋值。 当我们在稍后的模块中处理循环时,此功能将非常有用。
x = 5
x = x + 1 # Un-pythonic variable augmentation
x += 1 # Pythonic variable augmentation
x
输出为:
7
增量赋值不限于增量 1 或加法运算。 除了 += 之外,Python 中的增量赋值语句还包括 -=、*=、/=、%= 和 **=。 请尝试体验不同的增量赋值,直到理解这一概念。
Python 支持除int和float之外的其他类型的数字,如小数和分数。 Python 还内置了对 复数的支持,这些数字超出了此学习路径的范围。