Python入門: データ型

Intro to Python: Data Types

Treemind Academy | Sept 2, 2021


データ型の種類一覧

前章では、Pythonの変数についてご説明させていただきました。
多くのプログラミング言語では、まず変数名を定義し、後から値を代入します。
Pythonの場合は、代入する値の種類によって自動的に変数のデータ型(data type)が指定されます
これもPythonが書きやすいとされる理由の一つです。

例えば、下記のように文字の値をmy_nameという変数に代入します。

my_name = "太郎"

この場合、my_nameという変数は文字列のデータ型として設定されます。
他にも様々なデータ型があり、各用途によって使い分けられています。重要なデータ型をリストアップしました。

データ型概要
str
文字列 (String)
” ” か ‘ ‘ で囲むと文字列データ型の変数が定義される(どちらでもOK)

順序があるため、「2番目の文字を参照する」といった指定が可能

特定の文字を変更することはできない
a_string = “word”
int
整数 (Integer)
整数を代入するとintegerデータ型の変数が定義されるa_integer = 7
float
浮動小数点(Float)
浮動小数点の数字を代入するとfloatデータ型の変数が定義されるa_float = 7.12
list
リスト
ブラケット [ ] で囲むとlistデータ型の変数が定義される

1つの変数で複数の値、複数のデータ型の値を同時に格納できる
要素の間をカンマ , で区切る

要素に順序があるため、「2番目の値を参照する」といった指定が可能
またそれらの値を変更することも可能。これをミュータブル (mutable)という
a_list = [“apple”,”banana”,”orange”]
b_list = [“a”,2,”b”,3.31,”a”]
tuple
タプル
パーレン ( ) で囲むとtupleデータ型の変数が定義される

1つの変数で複数の値、複数のデータ型の値を同時に格納できる
要素の間をカンマ , で区切る

1つの値を囲むだけではtupleと認識されないため
1要素のみのtupleを定義する場合は
(要素1, ) という形式で2つ目がなくてもコンマを入れる必要がある

順序があるため、「2番目の値を参照する」といった指定が可能
Listとは対象的に、Tupleは要素を変更できない
これをイミュータブル (immutable)という
a_tuple = (“apple”,”banana”,”orange”)
b_tuple = (“a”,2,”b”,3.31)
dict
辞書 (Dictionary)
ブレース { }で囲み、{ key : value }のペアで値を代入すると
dictionaryデータ型の変数が定義される

順序があるため、「2番目の値を参照する」といった指定が可能
(Pythonバージョン3.7以前はdictionaryには順序がありませんでした)

dictionaryはミュータブル(mutable)なので、要素を変更できる

重複したデータは格納できない (keyが重複してはいけない)
a_dict = {“apple”:4,”banana”:2,”orange”:1}
set
セット
ブレースで囲むとsetデータ型の変数が定義される

空欄のプレース { } を使用するとdict型が定義されるため、
空欄のsetを定義する場合は、set()関数を使用する必要がある

1つの変数で複数の値、複数のデータ型の値を同時に格納できる
要素の間をカンマ , で区切る

重複した値は保存されないので、重複した要素は1つに集約される

setはイミュータブル (immutable)であり、List型のように
ミュータブル(要素を変更可能)なデータ型は要素として格納できない

setの要素には順序が記録されない
a_set = {1,2,3,4,5,6}
bool
ブール (Boolean)
TrueかFalseのどちらかの値のみを格納できるa_boolean = True
データ型の確認

コードを書いている最中、扱っている変数のデータ型を確認することがよくあります。
その際に、変数のデータ型を教えてくれるのが type()関数です。

a_variable = 5
print(type(a_variable))

# <class 'int'>と表示される

データ型は多くのエラーの原因になるコンセプトなので重要です!