8

PythonからPHPにコードを移植しようとしています。表記がわからない行に出くわしました。

secLat = 1./cos(lat)

このコンテキストで./演算子は何をしますか?

4

4 に答える 4

17

結果がintではなくfloatであることを確認するために、小数の後に除算記号を使用しているだけです。これにより、次のような問題を回避できます。

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

あなたは私が恐れているその間違った本を読んでいます。これは:

(1.)/cos(lat)

したがって、浮動小数点値1.0(ゼロを省略)をので除算しcos()ますlat

于 2012-09-11T06:09:34.650 に答える
4

1をfloat値にします。に相当float(1)

2つの整数の場合、/は床関数です。

>>> 12/5
2

引数が1つある場合、floatは、/期待どおりに機能します。

>>> 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()はfloatを返すため、上に整数を使用できます。

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 に答える