PythonからPHPにコードを移植しようとしています。表記がわからない行に出くわしました。
secLat = 1./cos(lat)
このコンテキストで./演算子は何をしますか?
PythonからPHPにコードを移植しようとしています。表記がわからない行に出くわしました。
secLat = 1./cos(lat)
このコンテキストで./演算子は何をしますか?
結果がintではなくfloatであることを確認するために、小数の後に除算記号を使用しているだけです。これにより、次のような問題を回避できます。
>>> 1/3
0
>>> 1./3
0.3333333333333333
あなたは私が恐れているその間違った本を読んでいます。これは:
(1.)/cos(lat)
したがって、浮動小数点値1.0
(ゼロを省略)をので除算しcos()
ますlat
。
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
1.
浮動小数点数を表します。/
除算を表します。