本記事ではPythonのデータ型について分かりやすく解説していきます。
データ型って何???
データ型とは、Python 上に組み込まれてあるオブジェクトの種類のことを示します。文字型と言われたら、文字のオブジェクトのことを指します。オブジェクトについては以下の記事を参考にしてください。
プログラミングの一番難しいところは、「リテラルを、オブジェクトとして扱えること」にあると考えています。リテラルについては以下の記事を参考にしてください。
リテラルは、1 や Hello など、ただの値のことを指しました。しかし、プログラミングを行う際、リテラル単体で扱うことは何かと不都合です。例えば、リテラルを区別することができなければ1 + Hello といったありえない処理が起こります。また、10進法を2進法にしたい、文字をすべて大文字にしたい、「こんにちは!!!○○さん」の○○の部分を違う人で入れて処理したい、といった処理について、毎回プログラムを組んで実行するのは大変手間がかかります。
そこで開発者たちは「リテラルをオブジェクトと同列に扱うこと」を考えました。リテラルとオブジェクトを同列に扱うことで、リテラルの区別を行ったり、誰もが行いそうな処理をあらかじめ組み込み、プログラムを書きやすくしようというわけです。このため、Python ではリテラルをある変数に入力するという行為は、クラスにおけるインスタンスを生成していることと同列になります。インスタンスについては以下の記事を参考にしてください。
これは開発(プログラムの処理を記述し、何かしらの製品を作ること)を行う上では大変便利であると同時に、本質的な理解を遠ざけてしまう一因になると考えています。イメージとしては、説明書を読まずに電化製品を扱えてしまう感じです。説明書を読まなくても電化製品を使うことは容易いですが、便利な機能を見落としてしまったり、重大事故のきっかけになってしまう恐れがあります。Python についても同様で、クラス、関数について理解して組み込み関数やプログラムを書くことで、処理が軽くなったり、コードを読みやすくなったり、汎用性の高いコード記述することができるようになります。そのため、本記事では数字のことをリテラルと同様の使い方で説明し、クラス、関数について簡単に説明した後、データ型の説明を行うことにしました。
リテラルを表現することができるデータ型を以下に示します。
データの種類 | リテラルの種類 | 組み込みデータ型 | 値の例 |
数値型 | 整数リテラル | int 型 | 1 |
数値型 | 浮動小数点型リテラル | float 型 | 1.15 |
文字型 | 文字列リテラル | str 型 | Hello |
論理型 | 真偽リテラル | bool 型 | True, False という変数 |
int 型について
小数点を付けない数字のことです。以下の形で記述します。
x = 1
float 型
小数点を付けた数字のことです。以下の形で記述します。
x = 1.15
str 型
文字のことです。シングルクォーテーション「’」、ダブルクォーテーション「”」、トリプルクォーテーション「”’」または「”””」のいずれかで書くことが可能です。シングルクォーテーションを内包できること、トリプルクォーテーションでは改行も文字として含んでしまうため、単純かつシングルクォーテーションで協調を表現することが可能なダブルクォーテーションで記述することをお勧めします。ダブルクォーテーションの場合、以下の形で記入します。
greeting = "Hello!!! 'Python'!!!"
シングルクォーテーションの場合は以下のように記述します。
greeting = 'Hello'
トリプルクォーテーションの場合は以下のように記述します。
greeting = """Hello"""
トリプルクォーテーション以外では改行を行うとエラーが出てきますので注意してください。シングルクォーテーション、ダブルクォーテーションでの改行方法は後日解説します。
bool 型
正しいか正しくないかをTrue, False で表現します。以下のように記述します。
val = True
最後に
データ型はクラスで表現されているため、メソッドの使用が可能ですが、説明が膨大になるため本記事では適宜解説していきます。もしあらかじめ勉強されたい方がいらっしゃいましたら、こちらのサイトを参考にしてください。
本記事は以上になります。ありがとうございました。