Pythonのgetメソッドについて現役エンジニアが解説【初心者向け】

初心者向けにPythonのgetメソッドについて現役エンジニアが解説しています。getメソッドとは辞書型(dict型)の持つメソッドです。指定したキーの値を取得することができますが、存在しなくてもエラーにならない特徴があります。getメソッドの書き方や使い方について解説します。

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

Pythonのgetメソッドについて、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

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

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

Pythonのgetメソッドについて詳しく説明していくね!

大石ゆかり

お願いします!

この記事では、Pythonの辞書型(dict型)のメソッドの1つである、getメソッドの使い方について解説します。

目次

 

getメソッドとは

getメソッドは、辞書型(dict型)の持つメソッドです。

辞書型は、複数のデータを保持することのできるデータ型の1つですが、他のデータ型にはない特徴として、「キー」と「値」を1セットとして保持している、という点が挙げられます。

getメソッドは「キー」を指定して、データを取り出すためのメソッドです。

ただ、単純に「キー」を

辞書型変数[キー]

とすることで指定したキーに対応する値を取り出すことができます。

ですが、このような方法で値を取り出そうとすると、存在しないキーを指定した場合にエラーが発生してしまいます。

一方、getメソッドは、上と同じように、キーを指定してデータを取り出しますが、存在しないキーを指定してもエラーが生じません。このような特徴がgetメソッドにはあります。

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

getメソッドの使い方

getメソッドは、

辞書型.get(キー, キーが存在しない場合の返り値)

のようにして記述します。

2つ目の引数は、辞書型に指定したキーがなかった場合に返される値をしていするためのもので、

何も指定しなければNoneが返されることになっています。

実際に使ってみよう

それでは、実際にgetメソッドを使うプログラムを書いてみることで、getメソッドの振る舞い、使い方を確認してみましょう。

サンプルプログラムでは、

辞書型を用意した後、getメソッドを使う場合と使わない場合の2種類の値の取り出し方を比較しています。

//辞書型の初期化
>>> sample_dict = {"A":"apple", "B":"banana", "C":"cherry", "D":"durian"}

//存在するキーをgetメソッドで指定した場合
>>> print(sample_dict.get("C"))
出力:cherry

//存在するキーを直接指定した場合
>>> print(sample_dict["C"])
出力:cherry

//存在しないキーをgetメソッドで指定した場合
>>> print(sample_dict.get("E"))
出力:None

//存在しないキーをgetメソッドで指定した場合(第2引数の指定あり)
>>> print(sample_dict.get("E", "Nothing"))
出力:Nothing

//存在しないキーを直接指定した場合
>>> print(sample_dict["E"])
出力:Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
KeyError: 'E'

このプログラムを実行してみるとわかるように、指定したキーが存在する場合には、getメソッドでも、直接[]で指定した場合でも結果は変わりませんが、キーが存在しない場合は、キーを直接指定したときにエラーが出てしまっていることがわかります。

辞書型の中身や、getメソッドの第2引数を変更して、getメソッドの使い方について確認してみてください。

まとめ

この記事では、Pythonにおける辞書型の要素を取り出すためのメソッドであるgetメソッドの使い方について解説しました。

プログラミングにおいて「エラーを回避する」という考え方は重要なので、getメソッドについても覚えておくと良いでしょう。

監修してくれたメンター

メンターOS

AIプログラミングを使って開発を行う。

プログラミング歴は約3年でPythonは割と得意。好きな物理理論は一般相対性理論で動物も好き。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

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

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