このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Python入門】Pythonの基本的なデータ型

Pythonの基本的なデータ型
Pythonプログラミングの基礎を固めるためには、扱う値の「型」を常に意識することが重要です。型とは、値がどのような種類であるかを表しており、数値、文字列、真偽値などが代表的な例です。ここでは、Pythonで最も基本となるデータ型―数値、文字列、真偽値―について学びます。さらに、Pythonならではの特徴である多倍長整数としての整数型の性質や、整数リテラルの記法、視認性を向上させる桁区切りの方法についても詳しく解説します。

プログラムのダウンロード
「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。
以下の表は、ここで扱う主要なデータ型とそのポイントをまとめたものです。
項目 | 内容の概要 | 例および補足説明 |
---|---|---|
数値型 (int と float) | 数値には、整数(小数点がない値)と浮動小数点数(小数部分を持つ値)がある。 | 例: 123 (int) と 45.67 (float)。 789 はint、789.0 はfloat。 |
多倍長整数としての int の特徴 | Python の int はビット数が可変で、メモリが許す限り非常に大きな数値も扱える。 | 例: 231 → 2147483648, 2100 → 1267650600228229401496703205376。 |
整数リテラルの記法 | 整数リテラルは、10進数のほか、接頭辞により2進数(0b)、8進数(0o)、16進数(0x)として表現できる。 | 例: 123 (10進数), 0b1111011 (2進数), 0o173 (8進数), 0x7b (16進数)。 |
アンダースコアによる桁区切り | 大きな数値のリテラルをアンダースコア(_)で区切ることで、見た目を改善し、読みやすくできる。 | 例: 1_000_000_000_000 や 1_0000_0000_0000 はどちらも1兆を表す。 |
文字列型 (str) | 文字列はテキストを表すデータ型で、シングルクォートまたはダブルクォートで囲んで表現する。 | 例: "Hello, Python!" や 'データ型の学習' 。 |
真偽値型 (bool) | 真偽値は論理値を表し、True または False で構成され、条件式などに使われる。 | 例: True 、False 。 |
1.数値型の基本―整数と浮動小数点数
Pythonでは、数値を扱う際に最も基本となるのは整数(int)と浮動小数点数(float)です。
- 整数 (int) は小数点を持たず、例えば
123
や456
のように記述します。 - 浮動小数点数 (float) は小数点を含む値で、例として
1.23
や45.6
があります。
また、浮動小数点数は、たとえ小数部分が 0 であっても、789.0
は float 型になります。
2.多倍長整数としてのintの柔軟性
Pythonの整数型int
は、そのビット数が自動で拡張されるため、非常に大きな数値、すなわち多倍長整数を扱うことができます。
この特徴は、例えば2のべき乗の計算で顕著に現れます。
3のべき乗を計算する例
print(3**2)
print(3**5)
実行結果
9
243
Pythonでは、メモリが許す限り、220 や 21000 のような非常に大きな値も正確に計算可能です。
非常に大きな値を計算する例
print(2**20)
print(2**1000)
実行結果
1048576
107150860718626732・・・(省略)・・・652624386837205668069376
3.整数リテラルの記法とアンダースコアによる区切り
Pythonで直接記述する数値は整数リテラルと呼ばれ、リテラルの先頭に特別な接頭辞を付けることで、異なる進数(2進数、8進数、16進数)で表現することができます。
リテラルの形式 | 表記例 | 説明 |
---|---|---|
10進数 | 123 | 特に接頭辞なし |
2進数 | 0b1111011 | 0b または 0B を先頭に |
8進数 | 0o173 | 0o または 0O を先頭に |
16進数 | 0x7b | 0x または 0X を先頭に |
また、大きな数値を見やすくするために、アンダースコア( _ )を使って桁区切りを行えます。たとえば、1兆を表す数値は次のように記述できます。
print(1_000_000_000_000) # 3桁区切り
print(1_0000_0000_0000) # 4桁区切りでも同じ値
どちらも実際の値は 1000000000000 です。アンダースコアはあくまで視認性の向上が目的です。
実行結果
1000000000000
1000000000000
4.文字列型と真偽値型
- 文字列型 (str) は、テキスト情報を扱うために使用され、シングルクォート(')またはダブルクォート(")で囲んで表現します。
- 真偽値型 (bool) は、論理的な条件を表すために使われ、
True
またはFalse
の2つの値があります。
message = "Hello, Python!" # 文字列型の例
is_valid = True # 真偽値型の例
print(message)
print("Status:", is_valid)
このコードを実行すると、「Hello, Python!」と「Status: True」が表示され、各型の基本的な使い方が理解できます。
実行結果
Hello, Python!
Status: True
5.型への意識の重要性
プログラムを書く際には、どの型を扱っているのかを常に意識する必要があります。
- 例えば、整数同士の計算と浮動小数点数を使った計算では、結果に小数部が残るかどうかが異なるため、計算方法や結果の精度が変わることがあります。
- 型変換関数(
int()
,float()
,str()
など)をうまく活用することで、意図した結果を得るための制御ができます。
まとめ
ここでは、Python の基本的なデータ型についての基礎知識を学びました。
- 数値型:整数(int)と浮動小数点数(float)の違い、Python の int が持つ多倍長整数としての柔軟性。
- 整数リテラル:10進数、2進数、8進数、16進数の記法や、アンダースコアを利用した桁区切りで、見やすく表現する方法。
- 文字列型と真偽値型:テキストデータと論理値を扱うための基本データ型。
- 型への意識:プログラミングの正確さや意図する処理を行うために、常に型を意識することの重要性。
次のコンテンツでは、float型が倍精度であることについて詳しく解説していきます。これにより、Pythonで扱うすべての基本的な値の性質が身につき、より高度なプログラミングへスムーズにステップアップできることでしょう。ぜひ、実際にコードを入力して試しながら、各データ型の特性を体験してみてください。