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 テスト 572
Blazor API連携 543
Blazor リスト表示 531
Blazor JSON表示 519
HTMLとC 504
Blazor 自動化 488
Razor入門 472
Blazor エラー処理 468
Blazor サーバー通信 465
Blazor 運用 459
Blazor 非同期通信 459
Python入門 459
Blazor 初期処理 457
フォーム入力 457
Blazor データ取得 455
AIとPython 453
フォルダ構成 442
Blazor 非同期処理 441
入門 440
使い分け 437
HttpClient 例外処理 426
.NET HttpClient 使い方 424
API呼び出し Blazor 423
Blazor コンポーネント初期化 423
依存性注入 422
HttpClient 使い方 417
Blazor入門 412
UI操作 404
Pythonとは 403
bUnit使い方 400
開発・技術相談
システム開発や技術検証、要件定義の作成、アーキテクチャ設計、 テスト設計、運用設計まで、一気通貫で支援しています。 企画段階の「まず相談したい」レベルから、実装・運用まで 幅広く対応できますので、お気軽にお問い合わせください。
お問い合わせ