亲宝软件园·资讯

展开

python中表达式4+0.5值的数据类型 浅析python表达式4+0.5值的数据类型

angryTom 人气:0

python中表达式4+0.5值的数据类型为?

表达式中4是整数、0.5是浮点数,所以它们相加的值类型是浮点型。

>>> type(4+0.5)

<class 'float'>

解析如下:

Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数:

1 + 2  # ==> 整数 3

1.0 + 2.0  # ==> 浮点数 3.0

但是整数和浮点数混合运算的结果就变成浮点数了:

1 + 2.0  # ==> 浮点数 3.0

为什么要区分整数运算和浮点数运算呢?

这是因为整数运算的结果永远是精确的,而浮点数运算的结果不一定精确,因为计算机内存再大,也无法精确表示出无限循环小数,比如 0.1 换成二进制表示就是无限循环小数。

知识点扩展

Python中整数和浮点数

Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致。

+
-
*
/

使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但是括号可以嵌套很多层

和数学运算不同的地方是,Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数:

1 + 2 # ==> 整数 3

1.0 + 2.0 # ==> 浮点数 3.0

但是整数和浮点数混合运算的结果就变成浮点数了:

1 + 2.0 # ==> 浮点数 3.0

为什么要区分整数运算和浮点数运算呢?这是因为整数运算的结果永远是精确的,而浮点数运算的结果不一定精确,因为计算机内存再大,也无法精确表示出无限循环小数,比如 0.1 换成二进制表示就是无限循环小数。

那整数的除法运算遇到除不尽的时候

11 / 4 # ==> 2

thon的整数除法,即使除不尽,结果仍然是整数,余数直接被扔掉。不过,Python提供了一个求余的运算 % 可以计算余数:

11 % 4 # ==> 3

如果我们要计算 11 / 4 的精确结果,按照“整数和浮点数混合运算的结果是浮点数”的法则,把两个数中的一个变成浮点数再

运算就没问题了:

11.0 / 4 # ==> 2.75

加载全部内容

相关教程
猜你喜欢
用户评论