首页 > 解决方案 > 编码中0和-0的区别

问题描述

我希望这不是太愚蠢,但 0 和 -0 是否相同,就像数学一样?当其中任何一个用作索引值时,Python 返回字符串的第一个字符。

标签: python

解决方案


这个问题一点也不愚蠢:0 和 -0 在它们是数字的情况下是相同的,但是当它们是字符串时,它们显然是不同的(一个只有一个字符,另一个有两个字符)。

你提到两者都是索引值,它们是数字,所以它们是相等的,你可以在这里看到:

Prompt>python
>>> print(0)
0
>>> print(-0)
0

在这两种情况下,输出显然是相同的。

如果它们是字符串,则长度已经显示出明显的差异:

>>> print(len("-0"))
2
>>> print(len("0"))
1

对于对浮点数感兴趣的人来说,等式可以表示如下:

>>> print(0.0+0.0)
0.0
>>> print(-0.0+0.0)
0.0

推荐阅读