前書き

数字はプログラミングでは非常に一般的です。 これらは、画面サイズの寸法、地理的位置、お金とポイント、ビデオを通過する時間、ゲームアバターの位置、数値コードの割り当てによる色などを表すために使用されます。

プログラミングで数学的操作を効果的に実行できることは、数字を使用する頻度のために開発する重要なスキルです。 数学の高度な理解は確かに優れたプログラマーになるのに役立ちますが、それは前提条件ではありません。 数学のバックグラウンドがない場合は、数学を、達成したいことを達成するためのツールとして、また論理的思考を改善する方法として考えてみてください。

Pythonで最もよく使用される2つの数値データ型、* integers floats *を使用します。

このチュートリアルでは、Pythonの数値データ型で使用できる演算子について説明します。

オペレータ

*演算子*は、操作を示す記号または関数です。 たとえば、数学では、プラス記号または+は加算を示す演算子です。

Pythonでは、数学から引き継がれた使い慣れた演算子がいくつか表示されますが、使用する他の演算子はコンピュータープログラミングに固有のものです。

Pythonの数学関連演算子のクイックリファレンステーブルを次に示します。 このチュートリアルでは、次のすべての操作について説明します。

Operation What it returns

x + y

Sum of x and y

x – y

Difference of x and y

-x

Changed sign of x

+x

Identity of x

x * y

Product of x and y

x / y

Quotient of x and y

x // y

Quotient from floor division of x and y

x % y

Remainder of x / y

x ** y

x to the y power

また、「+ + = + + * = + 。これらは算術演算子と + = + `演算子を組み合わせます。

加減

Pythonでは、加算演算子と減算演算子は数学と同じように機能します。 実際、Pythonプログラミング言語を計算機として使用できます。

整数から始めて、いくつかの例を見てみましょう。

print(1 + 5)
Output 6

整数を `+ print +`ステートメントに直接渡す代わりに、変数を初期化して整数値を表すことができます:

a = 88
b = 103

print(a + b)
Output191

整数は正と負の両方の数値(および0も)であるため、正の数値に負の数値を追加できます。

c = -36
d = 25

print(c + d)
Output-11

加算はフロートでも同様に動作します。

e = 5.5
f = 2.5

print(e + f)
Output8.0

2つの浮動小数点数を一緒に追加したため、Pythonは小数点以下の桁数を持つ浮動小数点数値を返しました。

減算の構文は加算の場合と同じですが、演算子をプラス記号( +)からマイナス記号( -)に変更します。

g = 75.67
h = 32

print(g - h)
Output43.67

ここでは、floatから整数を減算しました。 方程式に含まれる数値の少なくとも1つが浮動小数点数である場合、Pythonは浮動小数点数を返します。

単項算術演算

単項数式は、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

プラス記号とマイナス記号で示される単項算術演算は、「+ i +」の場合は値のIDを返すか、「-i +」のように値の反対の符号を返します。

乗算と除算

加算と減算のように、乗算と除算は数学での方法と非常によく似ています。 Pythonで乗算に使用する記号は「+ * 」で、除算に使用する記号は「 / +」です。

Pythonで2つのfloat値を使用して乗算を行う例を次に示します。

k = 100.1
l = 10.1

print(k * l)
Output1011.0099999999999

Python 3で除算すると、2つの整数を使用した場合でも、商は常にfloatとして返されます。

m = 80
n = 5

print(m / n)
Output16.0

これはhttps://www.digitalocean.com/community/tutorials/python-2-vs-python-3-practical-considerations-2#division-with-integers[Python 2とPython 3の間の主要な変更]の1つです。 Python 3のアプローチは部分的な答えを提供するため、「+ / 」を使用して「+11」を「2」で除算すると、「+ 5.5+」の商が返されます。 Python 2では、式「11 / 2」に対して返される商は「5」です。

Python 2の `+ / `演算子は* floor division *を実行します。商 ` x `に対して返される数値は、 ` x `以下の最大整数です。 Python 3ではなくPython 2で上記の ` print(80/5)`の例を実行すると、出力として小数点なしの ` 16 +`が返されます。

Python 3では、「+ // 」を使用してフロア分割を実行できます。 式「+100 // 40」は、「+ 2+」の値を返します。 床除算は、商を整数にする必要がある場合に役立ちます。

モジュロ

`%`演算子はモジュロで、除算後の商ではなく剰余を返します。 これは、たとえば、同じ数の倍数である数を見つけるのに役立ちます。

実際のモジュロを見てみましょう:

o = 85
p = 15

print(o % p)
Output10

これを分解するには、85を15で除算すると、商5と商10が返されます。 モジュロ演算子は除算式の残りを返すため、値「10」がここで返されます。

モジュロで2つの浮動小数点を使用すると、残りの浮動小数点値が返されます。

q = 36.0
r = 6.0

print(o % p)
Output0.0

36.0を6.0で割った場合、余りがないため、値「0.0」が返されます。

Pythonの `+ `演算子は、左側の数値を右側の指数で累乗するために使用されます。 つまり、式「+5 ** 3」では、5が3乗されます。 数学では、この表現が5³としてレンダリングされることがよくあります。実際に行われているのは、5が3倍になることです。 Pythonでは、「+ 5 3+」または「5 * 5 * 5」のいずれかを実行すると、「+ 125+」と同じ結果が得られます。

変数を使用した例を見てみましょう。

s = 52.25
t = 7

print(s ** t)
1063173305051.292

`+ ** `演算子を使用して、浮動小数点の ` 52.25 `を ` 7 +`のべき乗にすると、大きな浮動小数点値が返されます。

演算子の優先順位

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 *を使用することです。

Order Letter Stands for

1

P

Parentheses

2

E

Exponent

3

M

Multiplication

4

D

Division

5

A

Addition

6

S

Subtraction

  • BEDMAS BODMAS *など、操作の順序を表す別の頭字語に慣れている場合があります。 頭字語が最適な場合は、Pythonで算術演算を実行するときに念頭に置いて、期待する結果が返されるようにしてください。

割り当て演算子

最も一般的な代入演算子は、すでに使用したものです:等号 + = +。 `+ = `代入演算子は、右側の値を左側の変数に割り当てます。 たとえば、 ` v = 23 `は整数 ` 23 `の値を変数 ` v +`に割り当てます。

プログラミング時には、変数の値に対して操作を実行し、結果の新しい値をその変数に割り当てる複合代入演算子を使用するのが一般的です。 これらの複合演算子は算術演算子と `+ = +`演算子を組み合わせているため、追加のために `+`と `+ = +`を組み合わせて複合演算子 ` = +`を取得します。 それがどのように見えるか見てみましょう:

w = 5
w += 1
print(w)
Output6

最初に、変数「+ w 」を「+5」の値に設定し、次に「+ = +」複合代入演算子を使用して、左側の変数の値に正しい数値を追加し、_結果は ` w +`になります。

複合代入演算子は、* https://www.digitalocean.com/community/tutorials/how-to-construct-for-loops-in-python-3 [for loops] *の場合に頻繁に使用されます。プロセスを数回繰り返す場合に使用します。

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で数字について読み続けたい場合は、https://www.digitalocean.com/community/tutorials/built-in-python-3-functions-for-working-with-numbers [Built- Python 3関数で数値を操作するための]。

他のデータ型の詳細については、https://www.digitalocean.com/community/tutorials/understanding-data-types-in-python-3 [Python 3のデータ型を理解する]をご覧ください。 Python 3でデータ型を変換する方法を読んでデータ型を変換します。