我正在尝试将一段代码从 Python 移植到 PHP。我遇到了一条我不理解符号的线。
secLat = 1./cos(lat)
./ 运算符在这种情况下做了什么?
他们只是使用小数后跟除号来确保结果是浮点数而不是整数。这样可以避免以下问题:
>>> 1/3
0
>>> 1./3
0.3333333333333333
恐怕你读错了;它的:
(1.)/cos(lat)
因此,将浮点值1.0
(省略零)除以cos()
of lat
。
它使 1 成为浮点值。相当于float(1)
有两个整数,/
是一个底函数:
>>> 12/5
2
使用一个参数作为浮点数,/
按您的预期执行:
>>> 12.0/5
2.4
>>> 12/5.0
2.4
恕我直言,如果以这种方式编写(在 Python 中),您发布的代码就不会那么模棱两可了
secLat = 1.0/cos(lat)
或者
secLat = float(1)/cos(lat)
或者
secLat = 1/cos(lat)
由于 math.cos() 返回一个浮点数,因此您可以在顶部使用整数。
如果你想让 Python 有一个类似于 Perl / PHP的“真正的划分”,你可以这样做:
>>> from __future__ import division
>>> 1/2
0.5
1.
表示浮点数。/
代表分道扬镳。