『Python3入門』基本的な型の種類と値 | int, float, str, bool

Python プログラミング Python

Pythonに限らずプログラミングとは、端的にいうなら値を操作するためものになります。いろいろな値の取り出し、計算、書き換えといった処理を行なっていくのがプログラミングです。そして値には必ず型というものが結びついてきます。ここでは「組み込み型」の内、最も基本的な型として int、float、str、bool型について解説していきます。

型とは

型(タイプ)とは、値(データ)の種類になります。型の種類によって使い方や働きが違ってきます。

Pythonには組み込み型(標準型)といって、最初から組み込まれている型があります。以下にPythonに用意されている組み込み型の内、基本となる型のみを表にしました。

型名 内容 値の例
 int 数値型(整数) 10
 float 数値型(実数) 10.0
 str テキストシーケンス型
(文字列)
”Python”
 bool ブール値(真偽値) True

以下の公式サイトで「組み込み型」について詳しく解説していますので色々な型を確認してみてください。

Python公式:組み込み型

 

型の調べ方

型の説明をする前に、値の型を調べる方法を説明します。

値の型を調べるには type関数を使って調べることができます。

[構文]type(値)

 

インタラクティブシェルを使って手軽に確認ができるので試してみましょう。例えば以下の様なプログラムを実行してみましょう。

結果は <class ‘int’> と出力されます。これにより10という値は int型であることがわかります。

Python 基本的な型の種類と値 - 01


※上記はPythonista3のコンソールで実行した結果になります。Pythonista3について興味がありましたら以下の記事を参考にしてください。

Pythonista 3の基本操作 - iPad OS, iOSでの快適な開発環境
iPad Proを購入したのでiPad OS、iOS上で、Pythonのコーディングをしたく、「Pythonista 3」をApp Storeで購入したので簡単な使い方と使用感をまとめます。

 

リテラルについて

Pythonのプログラムに直接記述された値のことをリレラルと呼びます。リテラルは、最も値の基本となるものです。以降の型の説明ではリテラルの書き方で解説していきます。

 

int型(数値型:整数)

整数の型は、int(イント)と呼ばれる型になります。int型のリテラルは、小数点を含まない数字を記述するだけになります。また負数の値は先頭にマイナス記号を付けるだけです。

100
-100

インタラクティブシェルで、type関数を使って確認してみましょう。

Python 基本的な型の種類と値 - 02

<class 'int'> と表示されることがわかります。

 

16進数のリテラル

通常の10進数ではなく、16進数を使って整数値を記述することもできます。16進数の場合は、頭に「0x」と付けて16進数を記述します。

Python 基本的な型の種類と値 - 03

<class 'int'> と表示されることがわかります。

 

8進数のリテラル

通常の10進数ではなく、8進数を使って整数値を記述することもできます。8進数の場合は、頭に「0o」と付けて8進数を記述します。

Python 基本的な型の種類と値 - 04

<class 'int'> と表示されることがわかります。

 

2進数のリテラル

通常の10進数ではなく、2進数を使って整数値を記述することもできます。2進数の場合は、頭に「0b」と付けて2進数を記述します。

Python 基本的な型の種類と値 - 05

<class 'int'> と表示されることがわかります。

 

float型(実数)

実数は、整数以外の数値(複素数除く)のことで、小数点を含む値のことです。

実数の値は、float(フロート)と呼ばれる型になります。float型のリテラルは、小数点を付けた数字を記述するだけになります。また負数の値は先頭にマイナス記号を付けるだけです。

0.01
100.0
-100.23

インタラクティブシェルで、type関数を使って確認してみましょう。

Python 基本的な型の種類と値 - 06

<class 'float'> と表示されることがわかります。

整数の100も、100.0と記述することで実数扱いになります。

 

特殊な書き方

桁数が大きな値は、「E」記号をつけて「10の◯乗」という形で書くことで、以下の様に桁数の非常に大きな値も比較的簡単に記述できます。

Python 基本的な型の種類と値 - 07

こちらも小数点が含まれるので、<class 'float'> と表示されます。

 

浮動小数点数

実数はコンピュータ内部で「浮動小数点数」として扱われます

浮動小数点数とは、実数の値を「符号」「少数の値(仮数)」「指数」の3つの組み合わせで表現します。仮数と指数を組み合わせることで、巨大な桁数の値も扱えるようになります。

ただし、仮数の部分に保存できる桁数しか正確な値になりません。浮動小数点数は 1,000桁の値を扱うことができますが、正確なのは最初の十数桁(だいたい15〜17桁前後)までとなります。

浮動小数点数は大体正しい値であり、正確な値とは限らない事を覚えておきましょう。

例として、「0.1+0.02」をインタラクティブシェルで計算してみると大体正確な値であることがわかります。

Python 基本的な型の種類と値 - 08

Python 基本的な型の種類と値 - 09

 

bool値(真偽値)

bool値は、真偽値と呼ばれ、「真か偽か」の二者択一の状態を表すための値になります。例えば、なにかの式が正しい(真)か、正しくない(偽)かの結果を表すときにbool値が用いられます。

 値 内容
 True 真(正しい、成立)
 False 偽(正しくない、不成立)

インタラクティブシェルで、type関数を使って確認してみましょう。

Python 基本的な型の種類と値 - 10

<class 'bool'> と表示されることがわかります。

 

str型(文字列)

文字列の型は、str(ストリング)と呼ばれる型になります。文字列のリテラルは、文字列の前後をダブルクォート(”)またはシングルクォート(’)で挟んで記述します。

"Hello"
"こんにちは"
"12345"

インタラクティブシェルで、type関数を使って確認してみましょう。

Python 基本的な型の種類と値 - 11

<class 'str'> と表示されることがわかります。

数値や真偽値も前後をクォートで挟めば文字列になります。

 

シングルクォートとダブルクォートの違い

文字列は、シングルクォートダブルクォートの両方が使えます。役割としては違いはありません。それではなぜ2種類あるのでしょうか?

それは文字列の内容によってどちらを使うかが決まります。例えば次の様に文字列にダブルクォートが含まれている場合に、シングルクォートで挟んだ場合とダブルクォートで挟んだ場合を見てみましょう。

Hello "Python"

Python 基本的な型の種類と値 - 12

シングルクォートで挟んだ場合は期待する結果となりましたが、ダブルクォートで挟んだ場合は、エラーとなりました。それは、”Hello ” までが文字列と識別され、クォートで挟まれていないPythonという不正なデータになってしまったためです。

基本的にどちらのクォートを使うかを初めに決めておき、ダブルクォートを含むテキストの場合はシングルクォートで、シングルクォートが含まれるテキストの場合はダブルクォートで挟む様にしましょう。

 

エスケープシーケンス

文字列リテラルには「含めることができない文字」があります。シングルクォートで挟んだ文字列リテラルには、シングルクォートを含むことができません。

こうした「そのままでは文字列リテラルに含めることができない文字」をリテラル内に記述でするためにエスケープシーケンスと呼ばれる処理が用意されています。これは「\文字」というように、文字の前にバックスラッシュを付けて書いたものになります。Windowsの場合は「¥文字」になります。

エスケープシーケンス 意味
 \Newline バックスラッシュと改行が無視される
 \\ (windowsの場合 ¥¥ ) バックスラッシュ(\)
 \’ シングルクォート (‘)
 \” ダブルクォート (“)
 \a ASCII 端末ベル
 \b ASCII バックスペース
 \f ASCII フォームフィード
 \n ASCII ラインフィード
 \r ASCII キャリッジリターン
 \t ASCII 水平タブ
 \v ASCII 垂直タブ
 \ooo 8進数 ooo も持つ文字 (ooo は任意の8進数)
 \xhh 16進数 hh も持つ文字 (hh は任意の16進数)
 \N{Name} ユニークでnameという名前の文字
 \uxxxx 16bitの16進数 xxxx を持つ文字
 \Uxxxxxxxx 32bitの16進数 xxxxxxxx を持つ文字

これらは、全て覚える必要はありません。必要に応じて確認しながら使ってください。

 

タイトルとURLをコピーしました