gpt4 book ai didi

Python 2.7.4 上的/和//运算符

转载 作者:行者123 更新时间:2023-12-04 23:03:47 25 4
gpt4 key购买 nike

我是 Python 新手,我开始学习基础知识。我是一个 C++ 人,所以//运算符是新的。根据我正在阅读的一本书:

>> 4/2
2.0
>> 2/4
0.5
>> 5//4
2
>> 2//4
0

问题是当我写 5//4结果是 1,当我写 4/2结果是 2 而不是 2.0,当我写 2/4 时结果是 0 。我必须写“2.0/4.0”才能得到 0.5 作为结果。这些作者的错误还是我做错了什么?

我在 linux2 上使用 Python 2.7.4,[GCC 4.7.3]

最佳答案

在 Python 2.x 中,默认除法运算符是“经典除法”。这意味着 / ,当与整数运算符一起使用时,将导致类似于 C++ 或 java 的整数除法 [即4/3 = 1 ]。

在 Python 3.x 中,这一点有所改变。那里,/指的是“真除法”[4/3 = 1.3333.. ],而 //用于请求“经典/楼层划分”。

如果你想在 Python 2.7 中启用“真除法”,你可以使用 from __future__ import division在你的代码中。

来源:PEP 238

例如:

>>> 4/3
1
>>> 4//3
1
>>> from __future__ import division
>>> 4/3
1.3333333333333333
>>> 4//3
1

关于Python 2.7.4 上的/和//运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17093584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com