Pythonの変数に代入されている値の型を確認する方法を現役エンジニアが解説【初心者向け】

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

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

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

Pythonの変数に代入されている値の型を確認することは、値の型に応じて様々な条件に合った処理を複雑に実装することが可能になります。

実務においても、他のプログラマーが実装したコードの変数内で、どのような型の値が利用されているかを確認しながら保守作業を行うことが可能になります。

目次

 

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の型です。

 

[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を用いて判定を行いました。コードが問題なく動作しています。

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

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

 

まとめ

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

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

 

この記事を監修してくれた方

中本賢吾(なかもとけんご)
アジマッチ有限会社 代表取締役社長開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバーでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。Wordpressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。ボランティア活動:小学生がオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がSNS型PWAアプリリリースする市クラブ講座活動を行っている。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

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

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