第四节 数

2.4 数

在编程中,经常使用数来记录得分、表示可视化数据、存储Web应用信息,等等。Python 能根据数的用法以不同的方式处理它们。鉴于整数使用起来最简单,下面就先来看看Python是如何管理它们的。

2.4.1 整数

在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。

>>> 2+3 

5 

>>> 3-2 

1 

>>> 3*2 

6 

>>> 3/2 

1.5

在终端会话中,Python直接返回运算结果。Python使用两个乘号表示乘方运算:

>>> 3**2 
9 
>>> 3**3 
27 
>>> 10**6 
1000000

Python还支持运算次序,因此可在同一个表达式中使用多种运算。还可以使用圆括号来修改运算次序,让Python按你指定的次序执行运算,如下所示:

>>> 2+3*4 
14 
>>> (2+3)*4 
20

在这些示例中,空格不影响Python计算表达式的方式。它们的存在旨在让你在阅读代码时能迅速确定先执行哪些运算。

2.4.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会尽力找到一种精确表示结果的方法,但鉴于计算机内部表示数的方式,这在有些情况下很难。就现在而言,暂时忽略多余的小数位数即可。在第二部分的项目中,你将在需要时学习处理多余小数位的方式。

2.4.3 整数和浮点数

将任意两个数相除时,结果总是浮点数,即便这两个数都是整数且能整除:

>>> 4/2 
2.0

在其他任何运算中,如果一个操作数是整数,另一个操作数是浮点数,结果也总是浮点数:

>>> 1+2.0 
3.0 
>>> 2*3.0 
6.0 
>>> 3.0**2 
9.0

无论是哪种运算,只要有操作数是浮点数,Python默认得到的总是浮点数,即便结果原本为整数也是如此。

2.4.4 数中的下划线

书写很大的数时,可使用下划线将其中的数字分组,使其更清晰易读:

universe_age = 14_000_000_000

当你打印这种使用下划线定义的数时,Python不会打印其中的下划线:

>>> print(universe_age) 
14000000000

这是因为存储这种数时,Python会忽略其中的下划线。将数字分组时,即便不是将每三位分成一组,也不会影响最终的值。在Python看来,1000与1_000没什么不同,1_000 与10_00也没什么不同。这种表示法适用于整数和浮点数,但只有Python3.6和更高的版本支持。

2.4.5 同时给多个变量赋值

可在一行代码中给多个变量赋值,这有助于缩短程序并提高其可读性。这种做法最常用于将一系列数赋给一组变量。

例如,下面演示了如何将变量x、y和z都初始化为零:

>>> x,y,z = 0,0,0

这样做时,需要用逗号将变量名分开;对于要赋给变量的值,也需同样处理。Python将按顺序将每个值赋给对应的变量。只要变量和值的个数相同,Python就能正确地将它们关联起来。

2.4.6 常量

常量   类似于变量,但其值在程序的整个生命周期内保持不变。Python没有内置的常量类型,但Python程序员会使用全大写来指出应将某个变量视为常量,其值应始终不变:

MAX_CONNECTIONS = 5000

在代码中,要指出应将特定的变量视为常量,可将其字母全部大写。

动手试一试

练习2-8:数字8

编写四个表达式,分别使用加法、减法、乘法和除法运算,但结果都是数字8。为使用函数调用print()来显示结果,务必将这些表达式用圆括号括起来。也就是说,你应该编写四行类似于下面的代码:

print(5+3)

输出应为四行,其中每行都只包含数字8。

练习2-9:最喜欢的数

用一个变量来表示你最喜欢的数,再使用这个变量创建一条消息,指出你最喜欢的数是什么,然后将这条消息打印出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值