Python3の除算演算子とは

除算はどのプログラミング言語でも標準的な数学演算であり、Pythonも例外ではありません。Python 2では、整数除算と呼ばれる除算は1種類しかありません。

一般に、除算(/)のPython定義は、引数のみに依存していました。たとえば、Python 2.7では、両方の引数が整数であるため、11/4の除算は2でした。

ただし、引数が浮動小数点数であったため、20.0 / 7では出力として2.857142857142857が生成されます。

上記の「/」の定義は、作成者が予期していなかったデータ型が使用されているアプリケーションで問題を引き起こすことがよくありました。

 

Python部門

Python 3には、2種類の除算があります。

  1. 整数除算(//)
  2. 浮動小数点除算(/)

標準の除算記号(/)は、整数に適用するとPython3とPython2で動作が異なります。

 

Python 3で整数を別の整数で除算する場合、除算演算x / yは真の除算を表し(__truediv__メソッドを使用)、浮動小数点の結果を生成します。

一方、Python 2での同じ操作は、結果を負の無限大に向かって切り捨てる古典的な除算を表します(フロアを取ることとしても知られています)。

Pythonの浮動小数点除算

Python 3は、int引数とfloat引数の両方に対して浮動小数点除算を行う ' /'演算子を提供します。

print(42 / 2)

出力

21.0

出力が浮動小数点にあることがわかります。Python 2の時代に、ある整数を別の整数で割ると、何があっても、結果は常に整数になります。

それでは、次のコードを見てみましょう。

print(41 / 2)

出力

20.5

ここで、2を奇数で割ったので、浮動小数点値を取得しました。

Python2部門

あなたから実行しない限りはPython 2.2以降では、2.xのラインでは、整数の違いはありません__future__ インポート 部門原因となる、Pythonの2.xのを採用するの3.x行動を。

Python 2.xの行を明確にするために、/はフロア除算で真の除算でもありません。現在受け入れられている答えはこれについて明確ではありません。/は、両方の引数がintの場合はフロア除算ですが、いずれかまたは両方の引数がfloatの場合は真の除算です。

from operator import truediv, floordiv
print(truediv(10, 8) == 1.25)           # equivalent to `/` in Python 3
print(floordiv(10, 8) == 1)

出力

True
True

Pythonでの整数除算

Pythonは事前にデータ型を宣言していないため、いつ整数を使用するのか、いつfloatを使用するのかがわかりません。フロートは精度を失うため、積分計算で使用することはお勧めしません。

この問題を解決するために、将来のPythonモジュールには、床除算演算子(//)によって与えられる整数除算と呼ばれる新しいタイプの除算が含まれていました

ここで、/は浮動小数点除算を実行し、//整数除算を実行します。

Python 3では、(//)演算子を使用して整数除算を実行できます。

print(42 // 2)

出力

21

戻り値が整数であり、floatではないことがわかります。

それでは、奇数値を2で割って、出力を見てみましょう。

print(41 // 2)

出力

20

ここでは、20に四捨五入されていることがわかります。浮動小数点の除算は、最も近い整数に四捨五入されます。

負の値の除算

他のプログラミング言語の中には、Pythonのように負の無限大に向かって切り捨てるのではなく、ゼロに向かって丸める(切り捨て)を使用するものがあります(つまり、これらの言語では-3/2 == -1)。この動作により、コードを移植または比較するときに混乱が生じる可能性があります。

print(-3 // 2)

出力

-2

フロート除算を試してみると、異なる結果が表示されます。

print(-3 / 2)

出力

-1.5

結論

除算結果に浮動小数点数が必要な場合は、浮動小数点除算(/)を使用できます。整数ベースの除算が必要な場合は、Pythonで(//)演算子を使用できます。エラーや予期しない動作を回避するために、長いプログラムでのデータ型変換に注意する必要があります。

リンク: https://appdividend.com/2020/06/08/python-division-the-complete-guide/

#python 

What is GEEK

Buddha Community

Python3の除算演算子とは

Python3の除算演算子とは

除算はどのプログラミング言語でも標準的な数学演算であり、Pythonも例外ではありません。Python 2では、整数除算と呼ばれる除算は1種類しかありません。

一般に、除算(/)のPython定義は、引数のみに依存していました。たとえば、Python 2.7では、両方の引数が整数であるため、11/4の除算は2でした。

ただし、引数が浮動小数点数であったため、20.0 / 7では出力として2.857142857142857が生成されます。

上記の「/」の定義は、作成者が予期していなかったデータ型が使用されているアプリケーションで問題を引き起こすことがよくありました。

 

Python部門

Python 3には、2種類の除算があります。

  1. 整数除算(//)
  2. 浮動小数点除算(/)

標準の除算記号(/)は、整数に適用するとPython3とPython2で動作が異なります。

 

Python 3で整数を別の整数で除算する場合、除算演算x / yは真の除算を表し(__truediv__メソッドを使用)、浮動小数点の結果を生成します。

一方、Python 2での同じ操作は、結果を負の無限大に向かって切り捨てる古典的な除算を表します(フロアを取ることとしても知られています)。

Pythonの浮動小数点除算

Python 3は、int引数とfloat引数の両方に対して浮動小数点除算を行う ' /'演算子を提供します。

print(42 / 2)

出力

21.0

出力が浮動小数点にあることがわかります。Python 2の時代に、ある整数を別の整数で割ると、何があっても、結果は常に整数になります。

それでは、次のコードを見てみましょう。

print(41 / 2)

出力

20.5

ここで、2を奇数で割ったので、浮動小数点値を取得しました。

Python2部門

あなたから実行しない限りはPython 2.2以降では、2.xのラインでは、整数の違いはありません__future__ インポート 部門原因となる、Pythonの2.xのを採用するの3.x行動を。

Python 2.xの行を明確にするために、/はフロア除算で真の除算でもありません。現在受け入れられている答えはこれについて明確ではありません。/は、両方の引数がintの場合はフロア除算ですが、いずれかまたは両方の引数がfloatの場合は真の除算です。

from operator import truediv, floordiv
print(truediv(10, 8) == 1.25)           # equivalent to `/` in Python 3
print(floordiv(10, 8) == 1)

出力

True
True

Pythonでの整数除算

Pythonは事前にデータ型を宣言していないため、いつ整数を使用するのか、いつfloatを使用するのかがわかりません。フロートは精度を失うため、積分計算で使用することはお勧めしません。

この問題を解決するために、将来のPythonモジュールには、床除算演算子(//)によって与えられる整数除算と呼ばれる新しいタイプの除算が含まれていました

ここで、/は浮動小数点除算を実行し、//整数除算を実行します。

Python 3では、(//)演算子を使用して整数除算を実行できます。

print(42 // 2)

出力

21

戻り値が整数であり、floatではないことがわかります。

それでは、奇数値を2で割って、出力を見てみましょう。

print(41 // 2)

出力

20

ここでは、20に四捨五入されていることがわかります。浮動小数点の除算は、最も近い整数に四捨五入されます。

負の値の除算

他のプログラミング言語の中には、Pythonのように負の無限大に向かって切り捨てるのではなく、ゼロに向かって丸める(切り捨て)を使用するものがあります(つまり、これらの言語では-3/2 == -1)。この動作により、コードを移植または比較するときに混乱が生じる可能性があります。

print(-3 // 2)

出力

-2

フロート除算を試してみると、異なる結果が表示されます。

print(-3 / 2)

出力

-1.5

結論

除算結果に浮動小数点数が必要な場合は、浮動小数点除算(/)を使用できます。整数ベースの除算が必要な場合は、Pythonで(//)演算子を使用できます。エラーや予期しない動作を回避するために、長いプログラムでのデータ型変換に注意する必要があります。

リンク: https://appdividend.com/2020/06/08/python-division-the-complete-guide/

#python