このページで解説している内容は、以下の 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_0001_0000_0000_0000 はどちらも1兆を表す。
文字列型 (str)文字列はテキストを表すデータ型で、シングルクォートまたはダブルクォートで囲んで表現する。例: "Hello, Python!"'データ型の学習'
真偽値型 (bool)真偽値は論理値を表し、True または False で構成され、条件式などに使われる。例: TrueFalse

1.数値型の基本―整数と浮動小数点数

Pythonでは、数値を扱う際に最も基本となるのは整数(int)と浮動小数点数(float)です。

  • 整数 (int) は小数点を持たず、例えば 123456 のように記述します。
  • 浮動小数点数 (float) は小数点を含む値で、例として 1.2345.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進数0b11110110b または 0B を先頭に
8進数0o1730o または 0O を先頭に
16進数0x7b0x または 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で扱うすべての基本的な値の性質が身につき、より高度なプログラミングへスムーズにステップアップできることでしょう。ぜひ、実際にコードを入力して試しながら、各データ型の特性を体験してみてください。