1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

Python超入門その4~数値演算の基礎を学ぼう~

Pocket

はじめに

Pythonの基本的な型は理解できましたか?

型はデータを格納するだけではありません。
多くの場合、格納したデータを使ってなんらかの処理を行います。
データ型によって操作方法が異なりますので、その型特有の処理方法をマスターする必要があります。

この記事では、Python初心者の方向けに、Pythonにおける数値演算の基礎を解説していきます。
プログラミングでは各所で数値計算が行われますので、しっかりとマスターしておきましょう。

数値型のおさらい

まず、前回説明した数値型についておさらいしておきましょう。
Pythonの数値型には、int・float・complexの3種類があります。

この内よく使うのは、整数値を表すint型と浮動小数点数(小数)を表すfloatです。
この2つについて詳しくみていきましょう。

数値型リテラルの書き方

リテラルとは、ソースコードに直接記述されたデータのことです。
数値や文字列、真偽値などの基本的な型にのみ用意されています。
型によって書き方が異なりますので、型ごとのリテラル表記を覚えておく必要があります。

int型のリテラル表現は、単純に数値を記述するだけです。
たとえば、0・1・123といったように記述すればOKです。

float型も同じで、小数を直接記述します。
たとえば、3.14・1.08・0.01といった具合です。

注意しなければいけないのは、実際には整数であっても書き方により型が異なることです。
たとえば、1と書けばint型、1.0と書けばfloat型になります。状況に応じて書き分けましょう。

基本的な算術演算

足し算(+)

数値どうしの和を計算します。

例:print(1+1)

引き算(-)

数値どうしの差を計算します。

例:print(1-1)

掛け算(*)

数値どうしの積を計算します。

例:print(5*100)

割り算(/)

数値どうしの商を計算します。
割り算の結果はfloat型になります。
0で割るとエラー(ZeroDivisionError)になってしまうので、割り算をする場合には注意しましょう。

例:print(100/50)

割り算の整数部(//)

割り算の結果の小数点以下を切り捨てます。
結果はint型になります。通常の割り算と混同しないように注意しましょう。

例:print(1//3)

割り算の余り(%)

数値どうしの余剰を計算します。

例:print(10%3)

累乗(**)

数値の累乗を計算します。
演算子の左の数値を右の数値で累乗します。

例:print(10**3)

型が混在する演算に注意しよう

計算をする場合には、式中のすべての型が同じ型でなくてもかまいません。
たとえば、int型とfloat型が混在する計算式でもうまく計算できます。

例:print(3.14*100)

注意しなければいけないのは、int型とfloat型が混在する式の計算結果はfloat型になるということです。
なお、割り算の整数部や余りの計算の場合にはこの限りではありません。

計算の途中で型が変わってしまっても慌てる必要はありません。
明示的に型の変換をすることができるからです。

たとえば、次のようにします。

int型をfloat型に変換:float(100)

float型をint型に変換:int(3.14)

注意点としては、float型からint型に変換すると小数部が切り捨てられてしまうことです。
意図的にやるなら問題ありませんが、不用意に行うとバグのもとになってしまいますのでよく考えて行いましょう。

浮動小数点数の誤差

浮動小数点数であるfloat型は、正確な小数を表しているように見えても実際には近似値であることを覚えておきましょう。
たとえば、小数リテラルとして0.1という数値を記述しても、厳密には0.1ではないのです。
これは、次のように表示する桁数を増やしてやることで確認することができます。

例:print(format(0.1, “.50f”))

ほとんどの場合、この微妙な誤差が問題になることはありませんが、厳密な数値計算が必要とされる処理では問題になるかもしれません。
その場合は、float型の代わりにDecimal型を使いましょう。

まとめ

うまく計算できましたか?いろいろな数値で試してみて、予想した結果になるか実験してみましょう。

プログラミングは、トライアンドエラーで学習することが最適です。
演算結果によっては型が変化することに注意しましょう。
いつのまにか違う型になっていても驚かないで下さい。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る