データ型

データ型とは

プログラムの変数では「Apple」は「文字列」、「300」は「数値」のように識別し、このようなデータの種類をデータ型といいます。

代表的なデータ型

Pythonで利用される代表的なデータ型です。

データ型 メモ
str 文字列 東京
int 整数 30 -10
float 浮動小数点 0.1, -0.52
double 倍精度浮動小数点 0.00001, 10.3215
bool 論理型 true / false

データ型を調べる

データ型を調べるには、type() を利用します。

type(値)

文字列型

ファイル構成

sample/
└── data_type.py

文字列型(str)

「東京」「コーヒー」 のような文字列型(str)は、" (ダブルクォーテーション)または、' (シングルクォーテーション)で値を囲みます。

data_type.py
city = "東京"
print(type(city))

文字列型(str)と判別できました。

<class 'str'>

ブランク(空)

""'' のように、文字が何もない時も文字列型になります。

data_type.py
city = ""
print(type(city))
結果
<class 'str'>

数値

数値には整数、小数で分類されます。数値の種類でデータが異なるのは、コンピュータの計算方法が違うためです。

整数型(int)

int は整数の値です。

data_type.py
price = 120
print(type(price))

整数型(int)と判別できました。

結果
<class 'int'>

浮動小数点数型(float)

float は小数の値です。

data_type.py
average = 0.333
print(type(average))
結果
<class 'float'>

論理型

論理型(bool)とは

論理型(bool)はTrueFalse のように「Yes」「No」にあたるデータ型です。条件分岐や処理結果が正しいか判定するために多く利用します。

True と False

Pythonでは、Yesが True、Noが Falseという予約語が用意されています。

論理型(bool)

変数にTrueFalseを代入して検証します。

data_type.py
is_active = True
print(type(is_sale))

is_sale = False
print(type(is_sale))

TrueFalseがともに整数型(bool)と判別できました。

結果
True
<class 'bool'>
False
<class 'bool'>

NoneType

NoneTypeはデータ型がない状態です。

anything = None
print(type(anything))
結果
NoneType

その他の型

リスト型(list)

リスト型(list)は複数のデータをまとめる形式の1つです。リスト型に関しては別の章で説明します。

years = [2020, 2019, 2018, 2017]
drinks = ["コーヒー", "紅茶", "ほうじ茶"]
print(years)
print(drinks)
結果
years = [2020, 2019, 2018, 2017]
drinks = ["コーヒー", "紅茶", "ほうじ茶"]
print(years)
print(type(years))
print(drinks)
print(type(drinks))

ディクショナリー型(dict)

ディクショナリー型(dict)も複数のデータをまとめる形式の1つで、キーと値がペアになっているのが特徴です。ディクショナリー型に関しては別の章で説明します。

user = {
    "id": 1,
    "name": "東京 太郎",
    "age": 20,
    }
print(user)
print(type(user))
結果
{'id': 1, 'name': '東京\u3000太郎', 'age': 20}

自動キャスト(Cast)

数値や文字など異なるデータ型で演算したとき、自動的に型を変換する自動キャスト(Cast) する機能があります。以下の例では、整数値と浮動小数値を計算することができます。(Java のような言語ではエラーになります)

整数型と浮動小数点型の計算

整数型 intと、浮動小数点型 floatのデータを計算してみます。

data_type.py
price = 1000
tax = 0.1
total_price = price * tax
print(total_price)
print(type(total_price))

整数と小数が計算された変数は、float型で表示されました。

結果
100.0
<class 'float'>

Python超入門