Pythonの変数の型の種類を確認する方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonの変数の型の種類を確認する方法について現役エンジニアが解説しています。Pythonの変数の型には、int型やstr型、list型やdict型などがあります。変数の型の種類を確認する方法には、typeやisinstanceなどのメソッドを使う方法があります。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Pythonの変数の型の種類を確認する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonの変数の型の種類を確認する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 
条件分岐において変数の型によって分岐させる方法をとることがあります。

今回はその方法について解説していきます。
 

目次

 

変数の型について

Pythonの変数の型には以下のようなものがあります。

変数の型 データ型の説明 データ型の例
int型 整数の型です。 例 1, 100, -3, 0
float型 小数の型です。 例 1.6, 100.8342, -23.42523
str型 文字の型です。 例おはよう, Hello World!
list型 リストの型です。 例 [1, 2, 3], [‘A’, ‘B’, ‘こんにちは’]
dict型 辞書の型です。 例 {‘id’: 1, ‘Name’: ‘Yamada’, ‘読書リスト’: [‘細雪’, ‘雪国’, ‘雨’]}
None型 Noneの型です。

Pythonでは変数の型を宣言することなくコードを書くことが可能です。そのため、変数を用いる際に変数の型を用いた場合の方が簡単に条件分岐できる場合もあります。

Pythonを不自由なく使えるようになるためにも変数の型についても攻略していきましょう。

 

[PR] Pythonで挫折しない学習方法を動画で公開中

変数の型の種類を確認する方法

変数の型の種類を確認する方法には以下のようなものがあります。

変数の型の種類の確認方法 説明
type(object) objectの型を調べるのに使用します。
isinstance( object, classinfo) objectの型がclassinfoと一致しているかを調べるのに使用します。

classinfoにはクラスや型を一つまたは複数指定することができます。typeは変数の型を調べたいときに使います。

一方でisinstanceは条件分岐等で変数が指定した型かどうかの判定に用いられます。そのため、Pythonのコードルールではtypeを使って型の判定をする書き方は推奨されていません。

使い分けをできるようにしておくことをお勧めいたします。
 

実際に確認してみよう

型の判定に用いることができるものを色々と試していくために、 == または is も今回は使います。もちろんコードルール推奨のisinstanceを使った方法もみていきましょう。

今回は変数がlistかdictかで処理を分ける場合を想定しています。
 

コード

# -*- coding: utf-8 -*-
body_list = ['はな', 1,'みみ', 2, 'くち', 3, 'あし', 4]
body_dict = {'はな': 1, 'みみ': 2, 'くち': 3, 'あし': 4}

if type(body_list) == list:
  print('{}です'.format(type(body_list)))
  for el in body_list:
    if type(el) is str:
      print(el)
if isinstance(body_dict, dict):
  print('{}です'.format(type(body_dict)))
  for key in body_dict.keys():
    if isinstance(key, str):
      print(key)

 

結果

<type 'list'>です
はな
みみ
くち
あし
<type 'dict'>です
みみ
あし
はな
くち

リストの判定ではtypeを用いて判定を行いました。コードが問題なく動作しています。

まずはリスト型の判定、その後リストの要素についてstr型の判定を行っています。一方辞書の判定ではisinstanceを用いて判定を行いました。こちらも同様の結果を得ることができました。

ただし、リストか辞書の型を表示する場合にtypeを使っています。そのため、リストの方ではtypeがなんのために使用されているのかをコードを読み進めないとわかりません。isinstanceを用いると用途がはっきりして読みやすくしています。
 

まとめ

いかがでしたでしょうか? 型をマスターすることで、Pythonの言語に対する理解が深まったのではないでしょうか?

また、上級者になっていくためにより読みやすいコードが書けるようになっていきましょう。
 

監修してくれたメンター

メンターkatoさん

学生時代に数値解析のためにプログラミングを始める。現在は企業にて専門職として働くかたわら、プログラムを書き業務効率化を図っている。

現在のメイン言語はPython, JavaScript。また、企業内の希望者にPythonのメンターとして基礎から教えている。テックアカデミーではJavaScriptを教える。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。