数
在编程中,经常使用数来记录得分、表示可视化数据、存储Web应用信息,等等。Python能根据数的用法以不同的方式处理它们。
1.整数
在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。
print(2+3)
print(2-1)
print(2*2)
print(2/2)
Python使用两个乘号表示乘方运算:
print(3**3)#表示3的3次方,打印结果为27
Python还支持运算次序,因此可在同一个表达式中使用多种运算。还可以使用圆括号来修改运算次序,让Python按你指定的次序执行运算,如下所示:
print(2+3*4) #打印结果 14
print((2+3)*4) #打印结果为 20
2.浮点数
Python将所有带小数点的数称为浮点数。
大多数编程语言使用了这个术语,它指出了这样一个事实:小数点可出现在数的任何位置。每种编程语言都必须细心设计,以妥善地处理浮点数,确保不管小数点出现在什么位置,数的行为都是正常的。
从很大程度上说,使用浮点数时无须考虑其行为。你只需输入要使用的数,Python通常会按你期望的方式处理它们:
>>> 0.1 + 0.1
0.2
>>> 0.2 + 0.2
0.4
>>> 2 * 0.1
0.2
>>> 2 * 0.2
0.4
但需要注意的是,结果包含的小数位数可能是不确定的:
>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004
所有语言都存在这种问题,没有什么可担心的。
Python会尽力找到一种精确表示结果的方法,但鉴于计算机内部表示数的方式,这在有些情况下很难,因此在实际项目开发当中,需要对浮点数多余的小数位进行处理。
3.整数和浮点数
将任意两个数相除时,结果总是浮点数,即便这两个数都是整数且能整除:
>>> 4/2
2.0
在其他任何运算中,如果一个操作数是整数,另一个操作数是浮点数,结果也总是浮点数:
>>> 1 + 2.0
3.0
>>> 2 * 3.0
6.0
>>> 3.0 ** 2
9.0
无论是哪种运算,只要有操作数是浮点数,Python默认得到的总是浮点数,即便结果原本为整数也是如此。
4.数中的下划线
书写很大的数时,可使用下划线将其中的数字分组,使其更清晰易读:
>>> universe_age = 14_000_000_000
当你打印这种使用下划线定义的数时,Python不会打印其中的下划线:
>>> print(universe_age)
14000000000
这是因为存储这种数时,Python会忽略其中的下划线。将数字分组时,即便不是将每三位分成一组,也不会影响最终的值。在Python看来,1000与1_000没什么不同,1_000与10_00也没什么不同。这种表示法适用于整数和浮点数,但只有Python 3.6和更高的版本支持。
5.同时给多个变量赋值
可在一行代码中给多个变量赋值,这有助于缩短程序并提高其可读性。这种做法最常用于将一系列数赋给一组变量。
例如,下面演示了如何将变量x、y和z都初始化为零:
>>> x, y, z = 0, 0, 0
这样做时,需要用逗号将变量名分开;对于要赋给变量的值,也需同样处理。Python将按顺序将每个值赋给对应的变量。只要变量和值的个数相同,Python就能正确地将它们关联起来。
6.常量
常量类似于变量,但其值在程序的整个生命周期内保持不变。Python没有内置的常量类型,但Python程序员会使用全大写来指出应将某个变量视为常量,其值应始终不变:
MAX_CONNECTIONS = 5000
在代码中,要指出应将特定的变量视为常量,可将其字母全部大写。