序章
プログラミングでは数字は非常に一般的です。 これらは、画面サイズの寸法、地理的な場所、お金とポイント、ビデオで経過する時間、ゲームアバターの位置、数値コードの割り当てによる色などを表すために使用されます。
プログラミングで数学演算を効果的に実行できることは、数値を扱う頻度が高いため、開発するための重要なスキルです。 数学の高度な理解は確かにあなたがより良いプログラマーになるのを助けることができますが、それは前提条件ではありません。 数学のバックグラウンドがない場合は、数学を、達成したいことを達成するためのツールとして、そして論理的思考を向上させる方法として考えてみてください。
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プログラミング言語を計算機として使用できます。
情報:このチュートリアルのサンプルコードに従うには、python3コマンドを実行して、ローカルシステムでPythonインタラクティブシェルを開きます。 次に、>>>プロンプトの後に例を追加して、例をコピー、貼り付け、または編集できます。
整数から始めて、いくつかの例を見てみましょう。
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
プラス記号とマイナス記号で示される単項算術演算は、+iの場合は値のIDを返すか、-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の値を返します。 フロア分割は、商を整数にする必要がある場合に役立ちます。
モジュロ
%演算子はモジュロであり、除算後の商ではなく余りを返します。 これは、たとえば、同じ数の倍数である数を見つけるのに役立ちます。
動作中のモジュロを見てみましょう。
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の値が返されます。
力
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
**演算子を使用してfloat52.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で数学演算を実行するときに頭字語を覚えて、期待する結果が返されるようにしてください。
代入演算子
最も一般的な代入演算子は、すでに使用している演算子です。等号=です。 =代入演算子は、右側の値を左側の変数に割り当てます。 たとえば、v = 23は、整数23の値を変数vに割り当てます。
プログラミング時には、変数の値に対して演算を実行し、結果の新しい値をその変数に割り当てる複合代入演算子を使用するのが一般的です。 これらの複合演算子は、算術演算子と=演算子を組み合わせているため、さらに+と=を組み合わせて、複合演算子+=を取得します。 それがどのように見えるかを確認しましょう:
w = 5 w += 1 print(w)
Output6
まず、変数wを5の値に等しく設定し、次に+=複合代入演算子を使用して、左側の変数[ X184X]そしては結果をwに割り当てます。
複合代入演算子は、 forループの場合に頻繁に使用されます。これは、プロセスを複数回繰り返す場合に使用します。
for x in range (0, 7):
x *= 2
print(x)
Output0 2 4 6 8 10 12
forループを使用すると、変数wに数値2を掛けて、その結果を変数wforループの次の反復。
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でのデータ型の変換方法を読んで、データ型を変換する方法を学習してください。