python2.2以降、「/」と「//」の2つの除算演算子があります。2つの最大の違いは次のとおりです。
python2.2より前のバージョンおよびpython2.2より後の3.0より前のバージョンのデフォルトでは、「/」による除算は、2つ以上の数値が表示され、結果が浮動小数点数として表される場合の浮動小数点数です。そのフロート部門
「//」は同じ部門、「//」をやっていません勝つために割り切れる結果であるにかかわらず、任意の2つの数の、小数部分は法律で割り切れるである、直接放棄して処理されていない
以下の著者でありますコンパイラでテストされたデータ。テストされたバージョンはpython2.7です。
オン"/":
3/2
1
3 / 2.0
1.5
3.0 / 2
1.5
10 / 3.0
3.3333333333333335
上記の例から、除数の1つが浮動小数点数である限り、得られる結果も浮動小数点数であると結論付けることができます。
以下は「//」についてです。
3 // 2
1
3 // 2.0
1.0
3.0 // 2
1.0
3.0 // 2.0
1.0
上記の例から、2つの整数が除算された場合でも、結果は整数であることがわかります。浮動小数点数を非浮動小数点数で除算すると、結果は浮動小数点数になります。ただし、計算の結果は小数部分を無視します。演算の結果は2つの整数の除算に似ていますが、浮動小数点数が得られます。さらに、「//」は2つの浮動小数点数の例外ではありません。
「/」と「//」の間で労働を分割する方法
デフォルトでは、これらの2つの演算子には大きなオーバーラップがあります。たとえば、2つの数値が両方とも整数の場合、2つの演算の結果に違いはありません。Pythonでこれら2つの作業を明確に分担したい場合。つまり、「/」は浮動小数点除算に使用でき、「//」は整数除算に使用できますプログラムの最初に次のステートメントを記述できます。
将来の輸入部門から
宣言後のテストの結果(以下でテストされたバージョンはpython2.7です)
将来の輸入部門から
3/2
1.5
3.0 / 2
1.5
3 / 2.0
1.5
3.0 / 2.0
1.5
3 // 2
1
3.0 // 2
1.0
3.0 // 2.0
1.0
3 // 2.0
1.0
-11/2
-5.5
上記のように、このステートメントを作成した後、 "/"は整数除算ではなく浮動小数点除算を実行することがわかります。
pyhton3では、「/」は浮動小数点除算を意味し、モジュールを導入する必要がないことにも注意してください。分子と分母がどちらもintの場合でも、戻り値は浮動小数点数になります
私を殺さないものは私をより強くする