我遇到了一些代码:
dz3 = 1./m * (a3 - Y)
Run Code Online (Sandbox Code Playgroud)
为什么1.在这里使用而不是简单1?
两者似乎都相同:
>>> 1 / 4
0.25
>>> 1. / 4
0.25
Run Code Online (Sandbox Code Playgroud)
是否有任何不相同的情况?
这种东西将用于Python 2兼容性,其中int默认情况下,具有两个操作数的除法是整数除法.1.是一个float而不是一个int,所以无论Python版本m是什么都会导致浮点除法int.
小智 5
在 Python2 中
>>> 3/2 # returns 1
Run Code Online (Sandbox Code Playgroud)
而在 Python3 中
>>> 3/2 # returns 1.5
Run Code Online (Sandbox Code Playgroud)
如您所见,一个进行整数除法,另一个进行浮点除法。
如果我要写
>>> 3./2 # returns 1.5
Run Code Online (Sandbox Code Playgroud)
无论我选择哪种 Python 版本,它都会执行浮点除法。因为浮点数/整数只能导致浮点数。
同样要在 Python 3 中进行整数除法,您只需编写
>>> 3//2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |