专栏名称: 新语数据故事汇
《新语数据故事汇,数说新语》科普数据科学、讲述数据故事,深层次挖掘数据价值。
目录
相关文章推荐
51好读  ›  专栏  ›  新语数据故事汇

一文带您了解python number:您真正理解python中数字吗?

新语数据故事汇  · 公众号  ·  · 2024-08-14 18:37

正文

数字是任何编程语言的重要组成部分,Python也不例外。但是我们真正理解数字吗?比如在Python计算0.1+0.2 等多少?

或者看下面的结果

为什么会是上面的结果?浮点数在计算机中是以二进制形式存储的,但并非所有的十进制小数都能精确地转换为二进制小数。这种情况类似于十进制系统无法精确表示1/3(只能近似为0.333...),二进制系统也无法精确表示某些十进制小数,如0.1或0.2。

接下来,我们逐步展开在python 的数字的相关内容,包括整形和浮点型的区别、如何四舍五入到指定小数位数以及如何格式化数字显示。

整数

Python有三种内置的数值数据类型:整数、浮点数和复数。我们下来看看整数: 整数是一个没有小数位的整数。例如,1是一个整数,但1.0不是。整数数据类型的名称是int,你可以通过type()函数看到它:

你可以通过键入所需的数字来创建一个整数。例如,以下代码将整数25赋值给变量num:

也可以使用 int() 函数将包含整数的字符串转换为数字,这在处理用户输入时特别有用。例如,以下代码将字符串"25"转换为整数25:

千分问表示:手写大数字时,你通常会将数字分成每三位一组,并用逗号或小数点分隔。数字1,000,000比1000000更容易阅读。

在Python中,你不能在整数字面量中使用逗号来分组数字,但你可以使用下划线(_)。以下两种方式都是有效的,用于以整数字面量的形式表示一百万:

python中整数可以有多大是没有限制的,无论多大Python可以毫无问题地处理它!

浮点数

浮点数(简称float)是一个有小数位的数字。1.0是一个浮点数,-2.75也是。浮点数据类型的名称是float:

与整数一样,浮点数可以通过浮点数字字符串创建,或者通过将字符串转换为浮点数来创建,使用 float() 函数:

表示浮点数字的方式有三种。以下每种方式都创建了一个值为一百万的浮点数字面量:

E表示法是指数表示法的简称。你可能在计算器上看到过这种表示法,用于表示太大而无法在屏幕上显示的数字。

要使用E表示法编写浮点数字面量,请键入一个数字,后跟字母e,然后再键入另一个数字。Python将e左边的数字乘以10的e右边数字的次幂。因此,1e6等价于1×10⁶。

Python还使用E表示法来显示大的浮点数:

浮点数200000000000000000.0会显示为2e+17。+号表示指数17是一个正数。你也可以使用负数作为指数:

与整数不同,浮点数确实有一个最大大小。最大浮点数取决于你的系统,但类似于2e400的数字应该远远超出了大多数机器的能力。2e400是2×10⁴⁰⁰,这远远超过了宇宙中原子的总数!

算术运算符和表达式

接下来我们介绍一下在Python中使用数字进行基本的算术运算,如加法、减法、乘法和除法。同时,您还将学习在代码中编写数学表达式的一些约定。

加法

加法使用+运算符进行:

在+运算符两侧的两个数被称为操作数。在上面的例子中,两个操作数都是整数,但操作数不必是同一类型。将一个整数与一个浮点数相加:

减法

要减去两个数,只需在它们之间放置一个-运算符:

-运算符也用于表示负数:

一个数中减去一个负数,但正如你下面看到的那样,这有时会看起来很令人困惑:

在编写代码时,清晰地表达你的意图很重要,尤其是当涉及到负数和减法时。你可以使用括号来明确你的计算顺序,虽然对于简单的表达式来说,Python的运算符优先级(先乘除后加减,从左到右)通常足够清晰。但对于更复杂的表达式,使用括号可以使代码更易于理解。

乘法

要乘以两个数,使用*运算符:

乘法中得到的数字类型遵循与加法和减法相同的规则。两个整数相乘的结果是一个整数,而一个数与一个浮点数相乘的结果是一个浮点数。

除法

/运算符用于除以两个数:

整除

如果认为写 int(5.0 / 2) 有点冗长,Python提供了第二个除法运算符,称为整数除法运算符(//),也称为向下取整除法运算符:

指数

可以使用 ** 运算符将一个数提升为幂次:







请到「今天看啥」查看全文