整数、浮動小数点、文字列

Pythonでは、さまざまなデータ型を扱うことができます。その中でも、整数、浮動小数点数、長文やテキストを表す文字列は最も基本的なデータ型です。これらのデータ型の違いを正しく理解することは、エラーの少ないプログラムを書くための重要なステップです。この章では、それぞれのデータ型について詳しく説明します。
整数型(int)
整数型(インテジャー)は、正の数だけでなく、負の数やゼロを含む整数の値を扱うデータ型です。Pythonでは、整数型の変数に対して特に範囲の制限はなく、メモリが許す限り非常に大きな数値(何十桁、何百桁という値)もそのまま正確に扱うことができます。
# 整数型の例
a = 10
b = -20
c = 0
print(a) # 10
print(b) # -20
print(c) # 0
上記の例では、a、b、cがそれぞれ整数型の値を持っています。
浮動小数点数型(float)
浮動小数点数型(フロート)は、小数点以下の値を含む数値を扱います。Pythonでは、浮動小数点数型の変数は64ビット精度で表現されるため、かなりの範囲と精度を持つ数値計算が可能です。浮動小数点数型は、数値に .(カンマではなくピリオド)を追加するだけで定義できます。たとえば、2 と書くと整数ですが、2.0 と書くと浮動小数点数になります。
# 浮動小数点数型の例
x = 3.14
y = -0.001
z = 2.0
print(x) # 3.14
print(y) # -0.001
print(z) # 2.0
上記の例では、x、y、zが浮動小数点数型の値を持っています。
文字列型(str)
文字列型(ストリング)は、テキストデータを扱うためのデータ型です。文字列は、シングルクォート(')またはダブルクォート(")で囲んで定義します。文字列型は、単語や文章を扱うときに使われ、変数に文字列を代入して操作することができます。
# 文字列型の例
name = "Alice"
greeting = 'Hello'
print(name) # Alice
print(greeting) # Hello
文字列は、+演算子を使って連結することができます。
# 文字列の連結
full_greeting = greeting + ", " + name + "!"
print(full_greeting) # Hello, Alice!
追加解説:初心者お決まりの罠「数値の10」と「文字列の"10"」
一見すると同じ 10 に見えても、クォートで囲まれているかどうかでPythonの扱い(型)は180度変わります。型が異なると、同じ + 記号を使っても結果が全く違ったり、エラーの原因になったりします。
# 1. 整数型(int)同士の計算
num1 = 10
num2 = 20
print(num1 + num2) # 足し算が行われるので 30 になります
# 2. 文字列型(str)同士の計算
str1 = "10"
str2 = "20"
print(str1 + str2) # 文字の結合が行われるので "1020" になります
# 3. 違う型同士の計算(エラーになります)
# print(num1 + str1) # TypeError: unsupported operand type(s) for +: 'int' and 'str'
データ型の確認方法
Pythonでは、type()関数を使って変数のデータ型を確認することができます。以下の例を見てみましょう。
# データ型の確認
print(type(a)) # <class 'int'>
print(type(x)) # <class 'float'>
print(type(name)) # <class 'str'>
このように、type()関数を使うことで、変数のデータ型を簡単に確認することができます。
追加解説:データ型を別の型へ変換する方法(型変換 / キャスト)
プログラムを書いていると、「画面から入力された文字列の "100" を、計算するために整数に変換したい」といった場面がよくあります。その場合は、変換したい型名(int() や str() など)の関数を使って型を変換してあげましょう。
price_str = "150" # 文字列型
# 文字列から整数型(int)へ変換
price_int = int(price_str)
print(price_int + 50) # 200 (無事に計算できるようになります)
# 整数から文字列型(str)へ変換
age = 25
message = "私は" + str(age) + "歳です"
print(message) # "私は25歳です"
まとめ
Pythonの基本的なデータ型には、整数型、浮動小数点数型、文字列型があります。これらのデータ型を理解し、適切に使用することで、Pythonのプログラムを効率的に記述することができます。type()関数を使ってデータ型を確認することや、必要に応じて型変換を行うことも、プログラムの動作を制御するために役立ちます。これらのデータ型をしっかりと理解して、Pythonプログラミングをさらに深めていきましょう。