Pythonには様々なデータ型が用意されています。数値を扱うintやfloat、文字列を扱うstr、真偽値のboolなど、プログラミングの基礎となるデータ型を理解することは非常に重要です。
この記事では、Pythonの基本的なデータ型とその特徴、型変換の方法について詳しく解説します。
基本的なデータ型
Pythonの代表的なデータ型は以下の4つです。
Python
# int(整数型)
count = 42
negative = -10
big_number = 1_000_000 # アンダースコアで桁区切り
# float(浮動小数点数型)
price = 19.99
pi = 3.14159
scientific = 1.5e3 # 1500.0
# str(文字列型)
name = "Python"
message = '学習を始めよう'
# bool(真偽値型)
is_valid = True
is_empty = False
print(f"int: {count}, 型: {type(count)}")
print(f"float: {price}, 型: {type(price)}")
print(f"str: {name}, 型: {type(name)}")
print(f"bool: {is_valid}, 型: {type(is_valid)}")
実行結果
int: 42, 型: <class 'int'>
float: 19.99, 型: <class 'float'>
str: Python, 型: <class 'str'>
bool: True, 型: <class 'bool'>
型変換(キャスト)
異なるデータ型同士で計算したり結合したりする場合、型変換が必要になることがあります。Pythonでは関数を使って明示的に型を変換できます。
Python
# 文字列から数値へ
age_str = "25"
age = int(age_str)
print(age + 5) # 30
# 数値から文字列へ
score = 95
message = "得点は" + str(score) + "点です"
print(message)
# intからfloatへ
x = float(10)
print(x) # 10.0
# floatからintへ(小数点以下切り捨て)
y = int(3.7)
print(y) # 3
# 数値からboolへ
print(bool(0)) # False
print(bool(1)) # True
print(bool(-5)) # True
実行結果
30
得点は95点です
10.0
3
False
True
True
型変換エラーに注意
数値に変換できない文字列を int() や float() に渡すと ValueError が発生します。例えば int("abc") はエラーになります。ユーザー入力を変換する際は、try-except で例外処理を行いましょう。
文字列の基本操作
文字列型は特に使用頻度が高いため、基本的な操作を覚えておきましょう。
Python
# 文字列の結合
first = "Hello"
second = "World"
greeting = first + " " + second
print(greeting)
# 文字列の繰り返し
line = "-" * 20
print(line)
# 文字列の長さ
text = "Python入門"
print(f"文字数: {len(text)}")
# インデックスでアクセス
word = "Python"
print(word[0]) # 先頭
print(word[-1]) # 末尾
# スライス
print(word[0:3]) # Pyt
print(word[2:]) # thon
実行結果
Hello World
--------------------
文字数: 8
P
n
Pyt
thon
None型
Pythonには「値がない」ことを表す特別な型 None があります。他の言語の null や nil に相当します。
Python
result = None
print(result)
print(type(result))
# Noneの判定は is を使う
if result is None:
print("値が設定されていません")
# bool変換ではFalseになる
print(bool(None)) # False
実行結果
None
<class 'NoneType'>
値が設定されていません
False
Falsy な値
Pythonでは、0、0.0、""(空文字列)、[](空リスト)、None、False はすべてbool変換で False になります。これらを「Falsyな値」と呼びます。if文の条件式でそのまま使えるため、覚えておくと便利です。
まとめ
- Pythonの基本データ型は
int(整数)、float(小数)、str(文字列)、bool(真偽値) int(),float(),str(),bool()で型変換ができる- 文字列は
+で結合、[]でインデックスアクセスが可能 Noneは「値がない」ことを表す特別な型type()関数で変数のデータ型を確認できる