8

我正在尝试将一段代码从 Python 移植到 PHP。我遇到了一条我不理解符号的线。

secLat = 1./cos(lat)

./ 运算符在这种情况下做了什么?

4

4 回答 4

17

他们只是使用小数后跟除号来确保结果是浮点数而不是整数。这样可以避免以下问题:

>>> 1/3
0
>>> 1./3
0.3333333333333333
于 2012-09-11T06:09:10.827 回答
13

恐怕你读错了;它的:

(1.)/cos(lat)

因此,将浮点值1.0(省略零)除以cos()of lat

于 2012-09-11T06:09:34.650 回答
4

它使 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
于 2012-09-11T06:09:27.517 回答
2

1.表示浮点数。/代表分道扬镳。

于 2012-09-11T06:09:48.923 回答