1.5 Pythonの型変換と型チェックの基本
1.5 型の自動変換と型チェック
Pythonは動的型付け言語です。変数を宣言するときに型を指定する必要はなく、代入する値によって型が自動的に決まります。この柔軟さはPythonの特徴ですが、型が思わぬ形に変わってエラーの原因になることもあります。
型の自動変換(暗黙の型変換)
Pythonでは異なる型同士の演算で、必要に応じて自動的に型が変換されます。
# 整数と浮動小数点数の演算
result = 3 + 2.5
print(result) # 5.5
print(type(result)) # <class 'float'>
このように、整数 int と浮動小数点数 float を足すと、結果は自動的に float になります。
明示的な型変換(キャスト)
自動変換に頼らず、自分で型を変換することも可能です。
# 数値 → 文字列
num = 100
text = str(num)
print(text) # '100'
print(type(text)) # <class 'str'>
# 文字列 → 数値
price = "250"
price_int = int(price)
print(price_int + 50) # 300
文字列を数値に変換する場合、文字列が数値形式でないと ValueError が発生します。
型チェック
変数の型を確認するには type() 関数を使います。
value = [1, 2, 3]
print(type(value)) # <class 'list'>
特定の型かどうかを調べるには isinstance() 関数を使います。
value = 42
if isinstance(value, int):
print("整数です")
isinstance() は継承関係も考慮するため、より柔軟な型チェックが可能です。
よくある注意点
- 文字列と数値の連結エラー:`"価格は" + 300` はエラー。数値を文字列に変換してから結合する必要があります。
- 予期せぬ小数化:整数同士の割り算 `5 / 2` は `2.5` になります(Python 3では常にfloat)。
- 暗黙の型変換に頼りすぎない:意図しない結果を避けるため、明示的な変換を心がける。
- Pythonは動的型付けで、自動型変換(暗黙変換)が行われる
- 必要に応じて
int(),float(),str()で明示的に型変換する - 型確認には
type()、型判定にはisinstance()を使用
次のセクションでは、Pythonの「is」と「==」の違いについて深掘りし、バグを避けるための正しい使い方を解説します。
2025-01-11
下田 昌平
開発に関するインプットをアウトプットしています。検索ログ
Blazor 自動化 342
Blazor JSON表示 323
Blazor API連携 315
HTMLとC 312
Blazor データ取得 304
Blazor 初期処理 304
Blazor エラー処理 303
Python入門 302
Blazor 運用 298
Razor入門 298
Blazor テスト 293
Blazor リスト表示 293
API呼び出し Blazor 290
.NET HttpClient 使い方 289
入門 289
Blazor 非同期通信 288
Blazor コンポーネント初期化 287
Blazor サーバー通信 287
Blazor 非同期処理 286
使い分け 285
フォーム入力 282
HttpClient 使い方 279
bUnit使い方 275
依存性注入 274
Blazor入門 271
HttpClient 例外処理 267
UI操作 260
フォルダ構成 255
AIとPython 248
Pythonとは 243
開発・技術相談
システム開発や技術検証、要件定義の作成、アーキテクチャ設計、 テスト設計、運用設計まで、一気通貫で支援しています。 企画段階の「まず相談したい」レベルから、実装・運用まで 幅広く対応できますので、お気軽にお問い合わせください。
お問い合わせ