[Python]基本的なデータ型(str/int/float)を理解する

先生

基本的なデータ型であるstr/int/floatについて紹介します。

「基本的なデータ型」とは

ここでは、かなり基本的な部分となる、文字列型(str型)・整数型(int型)・浮動小数点型(float型)について紹介します。

データ型の変換や異なるデータ型同士の演算についても紹介します。

基本的なデータ型の定義(str/int/float)

まとめると下記の通りです。

データ型意味値の例
int整数型123
float浮動小数点型12.3, 1.0
str文字型“ABC”, “123”

文字型は以下のように「”(ダブルコーテーション)」もしくは「’(シングルコーテーション)」で囲んで定義する必要があります。小数点を含めて数字で定義すると、float型となります。

a = "Hello" # 文字型
b = 'Hello' # 文字型
c = Hello   ## エラー 

d = '2021'  # 文字型
e = 2021    # 整数型

f = '1.23'  # 文字型
g = 1.23    # 浮動小数点型

データ型の確認方法

データ型はtype関数で確認できます。

type(変数)

データ型が異なることを示すエラーがでた際などにtype関数で確認すると良いと思います。

実際には下記のように確認できます。

x = 1
print(type(x))
# <class 'int'>

y = 1.0
print(type(y))
# <class 'float'>

z = "123"
print(type(z))
# <class 'str'> 

データ型の演算

四則演算・剰余・乗数計算は以下です。

演算コードデータ型
加算x + yint, float, str(str + strのみ可能)
減算x – yint, float
乗算x * yint, float, str(str * intのみ可能)
除算x / yint, float
剰余x % yint, float
乗数x ** yint, float

文字列の演算は結合されます。

x = "Hello "
y = "World"
print(x + y)

# 出力
# 'Hello World'

x = "Hello"
print(x * 3)

# 出力
# 'HelloHelloHello'

int型とfloat型の演算の場合、演算結果のデータ型は「float型」となります。

float型同士の演算も同様です。

x = 1
y = 2.5

z1 = x + y
print(z1)
print(type(z1))
# 出力
# 3.5
# <class 'float'>

z2 = x - y
print(z2)
print(type(z2))
# 出力
# -1.5
# <class 'float'>

z3 = x * y
print(z3)
print(type(z3))
# 出力
# 2.5
# <class 'float'> 

z4 = x / y
print(z4)
print(type(z4))
# 出力
# 0.4
# <class 'float'>

z5 = x % y
print(z5)
print(type(z5))
# 出力
# 1.0
# <class 'float'>

z6 = x ** y
print(z6)
print(type(z6))
# 出力
# 1.0
# <class 'float'>

int型同士の演算の場合、演算結果に小数点以下の数字が出る場合に限り「float型」となるが、それ以外は「int型」となる。

データ型の型変換

型変換をする場合を以下のように変換できます。

変換したいデータ型コード備考
intint(x)文字列型から変換する場合、数字のみ(”123″など)変換可能。
floatfloat(x)文字列型から変換する場合、数字のみ(”123″など)変換可能。
strstr(x)

特に文字列型からの変換に気をつけましょう。

x_str = "123"

x_int = int(x_str) 
print(x_int)
print(type(x_int))
# 出力
# 123
# <class 'int'>

x_float = float(x_str)
print(x_float)
print(type(x_float))
# 出力
# 123.0
# <class 'float'>

y_float = 1.0

y_int = int(y_float)
print(y_int)
print(type(y_int))
# 出力
# 1
# <class 'int'>

y_str = str(y_float)
#  (str型)
print(y_str)
print(type(y_str))
# 出力
# '1.0'
# <class 'str'>

x = 3
y = 2

z1 = x + y
print(z1)
print(type(z1))
# 出力
# 5
# <class 'int'>

z2 = x - y
print(z2)
print(type(z2))
# 出力
# 1
# <class 'int'>

z3 = x * y
print(z3)
print(type(z3))
# 出力
# 6
# <class 'int'>

z4 = x / y
print(z4)
print(type(z4))
# 出力
# 1.5
# <class 'float'>

z5 = x % y
print(z5)
print(type(z5))
# 出力
# 1
# <class 'int'>

z6 = x ** y 
print(z6)
print(type(z6))
# 出力
# 9
# <class 'int'>

まとめ

以上です。今回は基本的なデータ型であるstr/int/floatについて紹介しました。

リストなどの他のデータ型については、別の記事で紹介しようと思います。