Python

Pythonにおける演算子の使い方

By 2021年3月16日No Comments

プログラミングを行う上で数値計算や比較を行う際には、様々な演算子を使います。

しかし、演算子の種類が多くなかなか覚えられない人もいるのではないでしょうか。

こちらの記事では、Pythonにおける演算子の使い方を説明します。具体的なサンプルコードを用いて説明するので、Pythonの勉強を始めたての人にもおすすめです。あらゆるプログラムを書く上で、土台となる部分なのでしっかりと押さえて使いこなせるようにしましょう。

Udemyの動画学習でもPythonを勉強しよう!

「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!

UdemyのPythonおすすめ33講座レビューリスト

数値の演算(四則演算、べき乗)

以下で説明する演算子を使えば、電卓を使うときのように、Pythonでも簡単に計算ができます。

足し算(加算)は+演算子を使います。

print(2 + 3)
# 5# #の後ろには実行結果を表示しています

引き算(減算)は-演算子を使います。

print(9 - 3)
# 6

数字の前に+を追加しても、数値は変わりません。‐を追加すると負の数を表します。

print(+32)
# 32
print(-32)
# -32

数値と演算子は好きなだけ増やせます。

print(2 + 4 + 8)
# 14
print(4 + 2 - 1 - 8)
# -3

掛け算(乗算)は*演算子を使います。

print(4 * 2)
# 8

割り算(除算)は/演算子を使います。割り算の結果はfloat型になります。

0で割り算するとエラーが出ます。

print(9 / 3)
# 3.0
print(9 / 0)
# ZeroDivisionError: integer division or modulo by zero

割り算(除算)の余りは%演算子を使います。0の0乗は1と定義されています。

print(14 % 3)
# 2
print(0 ** 0)
# 1

切り捨て除算は//演算子を使います。切り捨て除算では、商の小数部分を切り捨てて、整数部分を求めることができます。

print(14 // 3)
# 4
print(100 // 3)
# 33

divmod()を使えば、商と余りを一緒に手に入れることができます。

print(divmod(14, 3))
# (4, 2)

累乗は**演算子を使います。

print(4 ** 2)
# 16

型の異なる数値の演算

Pythonでは式の中の数値が同じ型でなくても計算が可能です。数値の型には整数に表現する“int型”と実数を表現する“float型”があります。“int型”と“float型”が混在する計算式でもうまく計算ができます。

print(2.2 + 5)
# 7.2
print(type(2.2 + 5))
# <class 'float'># type()関数を用いることで()内の引数の型を調べられます

“int型”と“float型”が混在する計算における結果は”float型”になる点に注意しましょう。

一方、/演算子は”int型”同士の演算でも“float型”になります。

print(14 / 2)
# 7.0
print(type(14 / 2))
# <class 'float'>

演算子と代入

通常だと、aにa-4の値を置き換えたい(代入したい)場合には以下のように書けます。

a = 24
a = a - 4
print(a)
# 20

算術演算子と=を組み合わせることで、この動作を行うことができます。

この場合だと、a -= 4と表せます。

a = 24
a -= 4
print(a)
# 20

同じように他の演算子でも組み合わせることができます。

a = b = c = d = 8

a += 1  
print(a)
# 9
# a = a + 1 と同じ

b -= 1 
print(b)
# 7
# b = b - 1 と同じ

c *= 5  
print(c)
# 40
# c = c * 5と同じ

d /= 2 
print(d)
# 4
# d = d / 2 と同じ

算術演算子の優先順位

次のような計算を行ったら、どのような値になるでしょうか。

4 + 5 * 2

Pythonでは、他の多くの言語と同じように乗算のほうが加算よりも優先順位が高いので次のような結果になります。

print(4 + 5 * 2)
# 14

除算や()を含む計算についても同様です。これらの計算の優先順位については、算数で習った考え方と同じと思っていただければ問題ありません。

以下に例を示します。

print(3 + 5 * 2 / (2 + 3))
# 5.0
print((4 + 2) * (7 - 2))
# 30

文字列の結合、繰り返し

Pythonでは+演算子を使って、文字列を連結させたり、*演算子を使って文字列を繰り返すことができます。実際にどのように出力されるのか見てみましょう。

print("I" + "love" + "you" ".")
# Iloveyou.
# 空白は自動では作られないので、明示的にスペースを入れる必要があります。

print("I" + " " "love" + " " + "you" ".")
# I love you.
# " "によって空白を文字列と連結させています。
print("I love you." * 4)
# I love you.I love you.I love you.I love you.

文字列と数値はそのままでは連結させることができません。

そのまま連結すると以下のようなエラーが出ます。

print(365 + "日")
# SyntaxError: invalid character in identifier

文字列は文字列としか連結できないため、

int型の 365 を文字列の型である“str型”に変更すると連結可能になります。

str型への変更にはstr()関数を使います。

print(str(365) + "日")
# 365日

数値と文字列を連結させることができると、以下のような計算式の文字列を作ることもできます。

apple = 100
num = 5
price = str(apple * num) + "円"
print(price)
# 500円

比較演算子、論理演算子

比較演算子と論理演算子については以下の記事にて使い方が解説されているので参照してください。

まとめ

今回は、Pythonにおける演算子の使い方について学習しました。演算子は頻繁に使うものなので、どんどんプログラムを書いて、覚えてしまいましょう。忘れてしまったら、いつでも見返しに来てください。

Udemyの動画学習でもPythonを勉強しよう!

「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!

UdemyのPythonおすすめ33講座レビューリスト
HOSL

Author HOSL

More posts by HOSL