演算子を使用してPython3で数学を行う方法
序章
プログラミングでは数字は非常に一般的です。 これらは、画面サイズの寸法、地理的な場所、お金とポイント、ビデオで経過する時間、ゲームアバターの位置、数値コードの割り当てによる色などを表すために使用されます。
プログラミングで数学演算を効果的に実行できることは、数値を扱う頻度が高いため、開発するための重要なスキルです。 数学の高度な理解は確かにあなたがより良いプログラマーになるのを助けることができますが、それは前提条件ではありません。 数学のバックグラウンドがない場合は、数学を、達成したいことを達成するためのツールとして、そして論理的思考を向上させる方法として考えてみてください。
Pythonで最もよく使用される2つの数値データ型、integersとfloatsを使用します。
このチュートリアルでは、Pythonの数値データ型で使用できる演算子について説明します。
前提条件
Python 3をインストールし、コンピューターまたはサーバーにプログラミング環境をセットアップする必要があります。 プログラミング環境をセットアップしていない場合は、ローカルプログラミング環境またはサーバー上のプログラミング環境のインストールおよびセットアップガイドを参照して、オペレーティングに適したものにすることができます。システム(Ubuntu、CentOS、Debianなど)
オペレーター
演算子は、操作を示す記号または関数です。 たとえば、数学では、プラス記号または+は加算を示す演算子です。
Pythonでは、数学から引き継がれたおなじみの演算子がいくつか表示されますが、使用する他の演算子はコンピュータープログラミングに固有のものです。
Pythonの数学関連の演算子のクイックリファレンステーブルを次に示します。 このチュートリアルでは、次のすべての操作について説明します。
手術 | それが返すもの |
---|---|
x + y | の合計 x と y |
x-y | の違い x と y |
-バツ | の符号を変更しました x |
+ x | のアイデンティティ x |
x * y | の製品 x と y |
x / y | xとyの商 |
x // y | の床分割からの商 x と y |
x%y | の残り x / y |
x ** y | x に y パワー |
複合代入演算子についても説明します。 +=
と *=
、算術演算子と =
オペレーター。
加減
Pythonでは、加算演算子と減算演算子は数学と同じように機能します。 実際、Pythonプログラミング言語を計算機として使用できます。
情報:このチュートリアルのサンプルコードに従うには、ローカルシステムでPythonインタラクティブシェルを開いて、 python3
指図。 次に、例の後に追加して、例をコピー、貼り付け、または編集できます。 >>>
促す。
整数から始めて、いくつかの例を見てみましょう。
print(1 + 5)
[secondary_label Output]
6
整数を直接に渡す代わりに print
ステートメントでは、整数値を表すように変数を初期化できます。
a = 88
b = 103
print(a + b)
Output191
整数は正の数と負の数の両方(および0も)である可能性があるため、正の数で負の数を追加できます。
c = -36
d = 25
print(c + d)
Output-11
加算はfloatでも同様に動作します。
e = 5.5
f = 2.5
print(e + f)
Output8.0
2つのfloatを一緒に追加したため、Pythonは小数点以下の桁数のfloat値を返しました。
減算の構文は加算の構文と同じですが、演算子をプラス記号(+
)マイナス記号(-
):
g = 75.67
h = 32
print(g - h)
Output43.67
ここでは、floatから整数を減算しました。 方程式に含まれる数値の少なくとも1つがfloatである場合、Pythonはfloatを返します。
単項算術演算
単項数式は1つのコンポーネントまたは要素のみで構成され、Pythonでは、プラス記号とマイナス記号を値とペアにした単一の要素として使用して、値のIDを返すことができます(+
)、または値の符号を変更します(-
).
一般的には使用されませんが、プラス記号は値のIDを示します。 正の値でプラス記号を使用できます。
i = 3.3
print(+i)
Output3.3
負の値でプラス記号を使用すると、その値のIDも返されます。この場合、負の値になります。
j = -19
print(+j)
Output-19
負の値の場合、プラス記号は同じ負の値を返します。
または、マイナス記号は値の符号を変更します。 したがって、正の値を渡すと、値の前のマイナス記号が負の値を返すことがわかります。
i = 3.3
print(-i)
Output-3.3
または、負の値でマイナス記号の単項演算子を使用すると、正の値が返されます。
j = -19
print(-j)
Output19
プラス記号とマイナス記号で示される単項算術演算は、次の場合に値のIDを返します。 +i
、または値の反対の符号 -i
.
乗算と除算
足し算と引き算のように、掛け算と割り算は数学の場合と非常によく似ています。 Pythonで乗算に使用する記号は次のとおりです。 *
除算に使用する記号は /
.
Pythonで2つのfloat値を使用して乗算を行う例を次に示します。
k = 100.1
l = 10.1
print(k * l)
Output1011.0099999999999
Python 3で除算すると、2つの整数を使用している場合でも、商は常に浮動小数点数として返されます。
m = 80
n = 5
print(m / n)
Output16.0
これは、Python2とPython3の間の主要な変更の1つです。 Python 3のアプローチは、分数の答えを提供するので、 /
分割する 11
に 2
の商 5.5
返されます。 Python 2では、式に対して返される商 11 / 2
は 5
.
Python2の /
演算子は床分割を実行します。ここで、商は x
返される数値は、以下の最大の整数です。 x
. 上記の例を実行すると print(80 / 5)
Python3の代わりにPython2を使用すると、次のようになります。 16
小数点以下の出力として。
Python 3では、次を使用できます //
床分割を実行します。 表現 100 // 40
の値を返します 2
. フロア分割は、商を整数にする必要がある場合に役立ちます。
モジュロ
The %
演算子はモジュロであり、除算後の商ではなく余りを返します。 これは、たとえば、同じ数の倍数である数を見つけるのに役立ちます。
動作中のモジュロを見てみましょう。
o = 85
p = 15
print(o % p)
Output10
これを分解するには、85を15で割ると、5の商が返され、余りは10になります。 値 10
モジュロ演算子が除算式の余りを返すため、ここに返されるのはです。
モジュロで2つのfloatを使用すると、残りのfloat値が返されます。
q = 36.0
r = 6.0
print(o % p)
Output0.0
36.0を6.0で割った場合、余りがないため、 0.0
が返されます。
力
The **
Pythonの演算子は、左側の数値を右側の指数の累乗で累乗するために使用されます。 つまり、式で 5 ** 3
、5は3乗されています。 数学では、この式が5³としてレンダリングされることがよくありますが、実際に行われているのは、5がそれ自体で3倍になっていることです。 Pythonでは、同じ結果が得られます 125
どちらかを実行することによって 5 ** 3
また 5 * 5 * 5
.
変数を使用した例を見てみましょう。
s = 52.25
t = 7
print(s ** t)
1063173305051.292
フロートを上げる 52.25
の力に 7
を通って **
演算子を使用すると、大きなfloat値が返されます。
演算子の優先順位
Pythonでは、数学と同様に、演算子は左から右または右から左ではなく、優先順位に従って評価されることに注意する必要があります。
次の式を見ると、次のようになります。
u = 10 + 10 * 5
左から右に読むこともできますが、乗算が最初に行われることを覚えておいてください。 print(u)
、次の値を受け取ります。
Output60
それの訳は 10 * 5
に評価します 50
、次に追加します 10
戻る 60
最終結果として。
代わりに値を追加したい場合 10
に 10
、次にその合計に 5
、数学の場合と同じように括弧を使用できます。
u = (10 + 10) * 5
print(u)
Output100
操作の順序を覚える1つの方法は、頭字語PEMDASを使用することです。
注文 | 手紙 | を意味する |
---|---|---|
1 | P | Pアレンテーゼ |
2 | E | E xponent |
3 | M | M ultiplication |
4 | D | D ivision |
5 | A | A ddition |
6 | S | S抽象化 |
BEDMASやBODMASなど、操作の順序の別の頭字語に精通している場合があります。 頭字語が最も効果的である場合は、Pythonで数学演算を実行するときに頭字語を覚えて、期待する結果が返されるようにしてください。
代入演算子
最も一般的な代入演算子は、すでに使用している演算子です。等号 =
. The =
代入演算子は、右側の値を左側の変数に割り当てます。 例えば、 v = 23
整数の値を割り当てます 23
変数に v
.
プログラミング時には、変数の値に対して演算を実行し、結果の新しい値をその変数に割り当てる複合代入演算子を使用するのが一般的です。 これらの複合演算子は、算術演算子と =
演算子なので、追加のために結合します +
と =
複合演算子を取得するには +=
. それがどのように見えるかを確認しましょう:
w = 5
w += 1
print(w)
Output6
まず、変数を設定します w
の値に等しい 5
、次に使用しました +=
左の変数の値に右の数値を加算してからに結果を代入する複合代入演算子 w
.
複合代入演算子は、 forループの場合に頻繁に使用されます。これは、プロセスを複数回繰り返す場合に使用します。
for x in range (0, 7):
x *= 2
print(x)
Output0
2
4
6
8
10
12
forループを使用すると、 *=
変数を乗算した演算子 w
数で 2
次に、結果を変数に割り当てます w
forループの次の反復のために。
Pythonには、このチュートリアルで説明する算術演算子ごとに複合代入演算子があります。
y += 1 # add then assign value
y -= 1 # subtract then assign value
y *= 2 # multiply then assign value
y /= 3 # divide then assign value
y // = 5 # floor divide then assign value
y **= 2 # increase to the power of then assign value
y %= 3 # return remainder then assign value
複合代入演算子は、物事を段階的に増減する必要がある場合、またはプログラム内の特定のプロセスを自動化する必要がある場合に役立ちます。
結論
このチュートリアルでは、整数および浮動小数点の数値データ型で使用する多くの演算子について説明しました。 Pythonで数値について読み続けたい場合は、組み込みのPython3関数で数値を操作するに進むことができます。
他のデータ型の詳細については、 Python 3でのデータ型の理解を参照し、 Python 3でのデータ型の変換方法を読んで、データ型を変換する方法を学習してください。