Pythonの型(データ型)

 Pythonの型(データ型)は、プログラムが扱う「値の種類」を定義する非常に重要な要素です。Pythonは**「すべてがオブジェクト」**という設計思想を持っているため、基本型であっても強力なメソッドを持っています。

ご質問いただいた項目を中心に、主要な型を体系的に整理して解説します。


1. 数値型 (Numeric Types)

数値を扱うための型です。

  • int (整数): 大きさの制限がなく、メモリが許す限り巨大な数値も扱えます。

  • float (浮動小数点数): 小数を含む数値。

  • bool (真偽値): True または False。内部的には int のサブクラスで、1と0として扱われます。

  • complex (複素数): 3 + 4j のように、虚数単位 j を用いて表します。

2. シーケンス型 (Sequence Types)

データの「並び」を管理する型です。

  • list (リスト): 順序があり、中身を変更できる(ミュータブル)。[1, 2, 3]

  • tuple (タプル): 順序があるが、一度作ると中身を変更できない(イミュータブル)。(1, 2, 3)

  • range: 数値の連番を効率よく生成する型。主にループで使用します。

  • str (文字列): 文字の並び。実はこれもシーケンス型の一種(イミュータブル)です。

3. 集合型 (Set Types)

  • set (セット): 重複を許さず、順序を持たない集合。{1, 2, 3}。数学の集合演算(和集合、積集合など)が得意です。

  • frozenset: 内容を変更できないセットです。

4. マッピング型 (Mapping Types)

  • dict (辞書): 「キー(Key)」と「値(Value)」をペアで管理します。{"name": "Alice", "age": 25}。非常に高速に検索が可能です。


5. クラスとインスタンス (Class & Instance)

これらは「型そのもの」というより、**「独自の型を作る仕組み」**です。

  • クラス (Class): 設計図です。「人間」という概念を定義します。

  • インスタンス (Instance): 設計図から実体化したもの。概念としての「人間」ではなく、具体的な「田中さん」というオブジェクトです。

    • type() 関数を使うと、そのインスタンスがどのクラスから作られたか(=型)を確認できます。

6. 例外 (Exceptions)

プログラムの実行中に発生するエラーも「型」として定義されています。

  • Exception: すべての例外の親クラス。

  • ValueError, TypeError, IndexError: 具体的なエラーの種類ごとに型が存在し、これを利用してエラーハンドリング(try...except)を行います。


7. その他、重要な型

ご質問のリスト以外にも、実戦で必ず遭遇する型があります。

バイナリシーケンス

画像データや通信データを扱うための型です。

  • bytes: 変更不能なバイナリデータ。

  • bytearray: 変更可能なバイナリデータ。

None型

  • NoneType: 「何も値がないこと」を表す特殊な型 None のための型です。

呼び出し可能型 (Callable)

  • 関数やメソッド: 実は関数自体も「型」を持っており、変数に代入したり引数として渡したりできます。


まとめ:型の関係図

分類型名 (Python表記)特徴
数値int, float, bool計算に使用
シーケンスlist, tuple, str, range順番に並んだデータ
集合set重複なし、順序なし
マッピングdictキーと値のペア
バイナリbytes画像やファイルデータ
特殊NoneType「空」の状態

📋

Pythonは「動的型付け言語」なので、変数を作る際に型を宣言する必要はありませんが、type()関数を使って「今、この変数は何型か?」を確認する癖をつけると上達が早くなります。

特定の型について、具体的な「書き方(コード例)」や「使い分け」を詳しく知りたいものはありますか?

コメント

このブログの人気の投稿

Pythonのシステム処理(osモジュール)について、機能と使い方など具体的に解説してください

Python で ローカルディスクにある画像ファイルを 選択して画面に表示するプログラムを作成してください。

Pythonのcsvモジュールのwriterオブジェクトでwriterow()を使ってCSVファイルに書き出す際、空白行が発生するのを防ぐには