データ型
データ型とは
プログラムの変数では「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)はTrue かFalse のように「Yes」「No」にあたるデータ型です。条件分岐や処理結果が正しいか判定するために多く利用します。
True と False
Pythonでは、Yesが True、Noが Falseという予約語が用意されています。
論理型(bool)
変数にTrueとFalseを代入して検証します。
data_type.py
is_active = True
print(type(is_sale))
is_sale = False
print(type(is_sale))
True、Falseがともに整数型(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'>