Pythonで扱う型の全て!基本から応用まで理解しよう

Pythonの型とは?

プログラミング言語Pythonには、様々な種類のデータを扱うための型があります。Pythonで扱う型には、以下のようなものがあります。

  • 整数型
  • 浮動小数点型
  • 文字列型
  • ブール型
  • リスト型
  • タプル型
  • 辞書型
  • 集合型

それぞれの型について、基本的な使い方から応用的な活用方法まで解説していきます。

基本的な型:整数型、浮動小数点型、文字列型、ブール型について

Pythonで最も基本的な型には、整数型、浮動小数点型、文字列型、ブール型があります。

整数型

整数型は、数値を扱うための型です。Pythonでは、整数を表すために「int」を使います。

x = 10
print(x)
print(type(x))

上記のプログラムを実行すると、以下のような結果が表示されます。

10
<class 'int'>

浮動小数点型

浮動小数点型は、小数点以下の数値を扱うための型です。Pythonでは、浮動小数点型を表すために「float」を使います。

y = 3.14
print(y)
print(type(y))

上記のプログラムを実行すると、以下のような結果が表示されます。

3.14
<class 'float'>

文字列型

文字列型は、文字列を扱うための型です。Pythonでは、文字列を表すために「str」を使います。文字列は、シングルクォーテーション(’)またはダブルクォーテーション(”)で囲みます。

z = 'Hello, World!'
print(z)
print(type(z))

上記のプログラムを実行すると、以下のような結果が表示されます。

Hello, World!
<class 'str'>

ブール型

ブール型は、真偽値を扱うための型です。Pythonでは、真偽値を表すために「bool」を使います。真偽値には「True」と「False」があります。

a = True
print(a)
print(type(a))

上記のプログラムを実行すると、以下のような結果が表示されます。

True
<class 'bool'>

リスト、タプル、辞書型、集合型の理解と活用

Pythonで扱う型には、リスト型、タプル型、辞書型、集合型もあります。それぞれの型について、基本的な使い方から応用的な活用方法まで解説していきます。

リスト型

リスト型は、複数の値を順序付きで格納するための型です。Pythonでは、リストを表すために「list」を使います。リストは、角括弧([])で囲み、カンマ(,)で区切ります。

list_a = [1, 2, 3, 4, 5]
print(list_a)
print(type(list_a))

上記のプログラムを実行すると、以下のような結果が表示されます。

[1, 2, 3, 4, 5]
<class 'list'>

タプル型

タプル型は、複数の値を順序付きで格納するための型です。Pythonでは、タプルを表すために「tuple」を使います。タプルは、丸括弧(())で囲み、カンマ(,)で区切ります。

tuple_a = (1, 2, 3, 4, 5)
print(tuple_a)
print(type(tuple_a))

上記のプログラムを実行すると、以下のような結果が表示されます。

(1, 2, 3, 4, 5)
<class 'tuple'>

辞書型

辞書型は、キーと値のペアを格納するための型です。Pythonでは、辞書を表すために「dict」を使います。辞書は、波括弧({})で囲み、キーと値はコロン(:)で区切り、複数のキーと値はカンマ(,)で区切ります。

dict_a = {'apple': 100, 'banana': 200, 'orange': 300}
print(dict_a)
print(type(dict_a))

上記のプログラムを実行すると、以下のような結果が表示されます。

{'apple': 100, 'banana': 200, 'orange': 300}
<class 'dict'>

集合型

集合型は、重複しない要素を格納するための型です。Pythonでは、集合を表すために「set」を使います。集合は、波括弧({})で囲み、要素はカンマ(,)で区切ります。

set_a = {1, 2, 3, 4, 5}
print(set_a)
print(type(set_a))

上記のプログラムを実行すると、以下のような結果が表示されます。

{1, 2, 3, 4, 5}
<class 'set'>

型変換の仕方とその注意点

Pythonでは、型変換を行うことができます。型変換をすることで、異なる型のデータを扱うことができます。

型変換の基本

型変換をするには、変換したいデータに対して、変換後の型を表す型名を付け加えます。

x = '10'
print(type(x))
y = int(x)
print(type(y))

上記のプログラムを実行すると、以下のような結果が表示されます。

<class 'str'>
<class 'int'>

注意点

型変換を行う際には、変換できないデータがあることに注意しましょう。また、数値を文字列型に変換する場合には、文字列中に数値以外の文字が含まれているとエラーが発生します。

Pythonでの型注釈の利用

Pythonでは、型注釈を使うことで、変数や関数の引数、戻り値の型を明示することができます。型注釈をすることで、コードの可読性を向上させることができます。

def add(a: int, b: int) -> int:
    return a + b
x = add(1, 2)
print(x)
print(type(x))

上記のプログラムを実行すると、以下のような結果が表示されます。

3
<class 'int'>

型に関するよくあるエラーとその対処法

Pythonでのプログラミングにおいて、よくある型に関するエラーとその対処法を紹介します。

TypeError

TypeErrorは、異なる型のデータを演算しようとした場合に発生します。

x = '10'
y = 3
print(x + y)

上記のプログラムを実行すると、以下のようなエラーが発生します。

TypeError: can only concatenate str (not "int") to str

この場合、型変換を行って解決することができます。

x = '10'
y = 3
print(x + str(y))

上記のプログラムを実行すると、以下のような結果が表示されます。

103

ValueError

ValueErrorは、変換できないデータを変換しようとした場合に発生します。

x = '10a'
y = int(x)
print(y)

上記のプログラムを実行すると、以下のようなエラーが発生します。

ValueError: invalid literal for int() with base 10: '10a'

この場合、文字列中に数値以外の文字が含まれているため、正しい数値に変換することができません。文字列を適切に変換することで解決することができます。

x = '10a'
y = int(x.strip('a'))
print(y)

上記のプログラムを実行すると、10が表示されます。

まとめ

Pythonで扱う型について、基本的な型から応用的な型まで解説しました。また、型変換や型注釈、よくあるエラーとその対処法についても紹介しました。Pythonでプログラミングをする際には、型の使い方や型変換の方法を理解し、適切に活用することが重要です。