Pythonで計算をする方法
Pythonをはじめとする多くのプログラミング言語では、私たちが日常で行っているように数を計算することができます。
今回の記事では、Pythonを使った数値計算、type関数を使った変数や数字の型を調べる方法を解説していきます。
演算子
演算子とは足し算の「+」引き算の「-」掛け算の「×」割り算の「÷」などの記号を指します。
Pythonでも同じように四則演算を行うことができますが、使われる演算子は日常的に使うものとは違う部分があります。
以下の表はPythonをでよく使われる演算子をまとめたものです。
演算子 | |
足し算 | + |
引き算 | – |
掛け算 | * |
割り算 | / |
割り算のあまり | % |
べき乗 | ** |
掛け算と割り算の記号が普段とは異なっていることが分かります。
またあまりなじみがありませんが割り算の余りを計算する演算子もよく用いられます。
それぞれの使い方は簡単です。順番に解説していきます。
足し算
使い方は以下のコードの通りです。
answer=2+1
print(answer)
#実行結果:3
特に難しいことはありません。注意するべき点といえば、ほしい計算結果は「=」の記号の左側に書く点でしょうか。
引き算
使い方は以下のコードの通りです。
answer=2-1
print(answer)
#実行結果:1
こちらに関しても特に難しい点はありません。
掛け算
使い方は以下のコードの通りです。
answer=2*1
print(answer)
#実行結果:2
日常生活で使っている「×」ではないこと注意しましょう。
割り算
使い方は以下のコードの通りです。
answer=2/1
print(answer)
#実行結果:2
割り算は分数のように考えると割る数と割られる数を間違えずに済みます。
割り算の余り
使い方は以下のコードの通りです。
answer=2%1
print(answer)
#実行結果:0
いつ使うのかわからないと思う方もいると思いますが意外と使うので覚えておきましょう。
べき乗
使い方は以下のコードの通りです.
answer=2**2
print(answer)
#実行結果:4
あまり馴染みがありませんがこちらもよく使います。
総じて、プログラムにおいては「=」の記号は右の値を左辺に代入するという意味であることに注意して使いましょう。
計算の順序
小学校の時、掛け算や割り算は足し算や引き算よりも先に計算するということを習っているかと思います。
Pythonにおいても同様で、以下のコードのように掛け算や割り算は優先されます。
また割り算の余りの計算においても掛け算、割り算と同じ優先順位で計算が行われます。
answer=10+2/2
print(answer)
#実行結果:11.0
もし足し算や引き算を先に計算させたい場合は、優先させたい部分をかっこでくくりましょう。
answer=(10+2)/2
print(answer)
#実行結果:6.0
型の確認
プログラムで計算をするときには、以前も紹介した計算に使う数字や変数には型があることを意識しなくてはなりません。
ここでは、 type関数をつかった数字や変数の型を調べる方法を紹介します。
関数についてはまだ説明していませんが、すでにprint関数を扱っていますし、変数を入れると型が出てくる呪文のようなものだと考える程度の理解で問題ありません。
type関数の使い方は、今まで使ってきたprint()と一緒でかっこの中に変数を入れると、その変数の型を答えてくれます。
実際に使うときは、type()だけだと何も表示されないので、print関数と一緒に使ってtype()の答えが出力結果に表示されるようにします。
type(変数名or数字、文字列etc..)
かっこ内に入れたものの型を答える(表示機能はない)
実際によくある数字の型を例にとって使い方を見ていきましょう。
以下のコードでは、「ー1」や代入した「x」が整数の数字を表すint型であることがtype関数によって明らかにされています。
x=-1
print(type(x))
print(type(-1))
#実行結果:<class 'int'>
# <class 'int'>
このようにprint関数と一緒に使うことで結果を確認できるので自分でも行ってみましょう。
int型については詳しく述べませんが、次の節では数字の型の種類について説明します。
数字型の種類
ここでは、よくある数字型のint型とfloat型の2種類について説明していきます。
int型
プラスマイナスありの整数の数字のことをint型と呼びます。
int型の変数を作りたいとき、Pythonでは変数に整数を代入を行うだけで作ることができます。
先ほども出てきたコードですが、本当に整数の数字やそれを代入したものがint型になっているのか、type関数をつかって調べてみましょう。
x=-1
print(type(x))
print(type(-1))
#実行結果:<class 'int'>
# <class 'int'>
このように、整数を代入した変数、整数そのものはint型になります。
float型
float型はプラスマイナスありの小数点も含めた数字型です。正式には「浮動小数点型」とよばれています。
こちらもint型と同様で変数に小数点を含めて代入した場合、その変数はfloat型と認識されます。
type関数を使って確かめたものが以下のコードです。
x=1.0
print(type(x))
print(type(1.0))
このように、小数点を含めた数字を代入した変数、小数点ありの数字そのものはfloat型になります
int型とfloat型の計算
前の節で書いた通り、プログラムで数値を計算するときその数字の型を意識する必要があります。
特にint型とfloat型の両方が混在している計算では、書いている人が意図しないような結果が出ることがあるので注意が必要です。
では両方が混在する場合の足し算、引き算、掛け算、割り算の計算結果を見てみましょう。
x=1
y=1.234
answer=x+y
print(answer)
print(type(answer))
#実行結果:2.234
# <class 'float'>
x=1
y=1.234
answer=x-y
print(answer)
print(type(answer))
#実行結果:-0.239999999
# <class 'float'>
パソコンが2進数で数値を表している性質上、-0.234を表すことができないので、-0.23999999になっています。こういうことがfloat型ではたびたび起こります。
非常に小さい値を扱う場合などは計算の誤差として影響することがありますが普段はそこまで気にしなくても大丈夫です。
x=1
y=1.234
answer=x*y
print(answer)
print(type(answer))
#実行結果:1.234
# <class 'float'>
x=1
y=1.234
answer=x/y
print(answer)
print(type(answer))
#実行結果:0.8103727714748784
# <class 'float'>
以上の結果より、int型とfloat型が混在するような計算では計算結果はfloat型になることがわかります。
int型をfloat型に変換する操作やその逆を行う際に、注意が必要ですので、このことは頭に入れて計算を行うようにしてください。
コメント