Pythonにおけるeval()の利用方法について現役エンジニアが解説【初心者向け】

初心者向けにPythonにおけるeval()の利用方法について現役エンジニアが解説しています。Pythonにおけるeval()とは、文字列を式として評価する関数になります。Pythonのeval()の書き方や文字列を式として評価する使い方を解説します。

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

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

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

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

Pythonにおけるeval()の利用方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

eval()とは

Pythonにおけるeval()とは、文字列を式として評価する関数になります。

例えば、Pythonで ‘5 + 3’ という文字列をeval()を使用する事で 5+3 という式として使用できます。
 

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

eval()の使い方

Pythonでevalを使用して文字列を式として評価する場合は下記のように使用します。

eval( '式として評価する文字列' )

 

eval()を利用して数字の文字列を式として評価し出力してみよう

それでは、サンプルコードを参考にPythonでeval()を利用して数字の文字列を式として評価し出力してみましょう。
 

サンプルコード

# 変数'data'に数式を文字列としてセット
data = '5+3'

# 変数'data'をそのまま出力
print(data)

# 変数'data'をeval()を利用して式としての評価結果出力
print( eval( data ) )

# 変数'data'をeval()を利用して式としての評価結果を変数'sample'にセット
sample = eval( data )

# 変数'sample'をそのまま出力
print( sample )

 

実行結果

5+3
8
8

 

解説

コード2行目では、5+3という式を文字列として変数’data’にセットしています。

コード5行目では、変数’data’をそのまま出力しています。変数’data’には’5+3’という文字列がセットされているので、実行結果では5+3と式がそのまま文字列として出力されている事が確認できます。

コード8行目では、変数’data’をeval()を利用して式としての評価結果を出力しています。eval()を利用することで文字列の’5+3’が5+3という式として評価されるので実行結果では8という数字が出力されていることが確認できます。

コード11行目では、変数’data’をeval()を利用して式としての評価結果を変数’sample’にセットしています。

コード14行目では、変数’sample’をそのまま出力しています。変数’sample’には式の評価結果がセットされているので実行結果では8という数字が出力されている事が確認できます。
 

まとめ

今回は、Pythonにおけるeva()の利用方法について紹介しました。

今回紹介した手法は、外部から取得したデータの数式の部分が文字列として取り込まれた場合などプログラミングで文字列を数式として評価したい場合などに活用してみてください。

 

監修してくれたメンター

菅繕久(すがよしひこ)

現在はフリーランスのエンジニアをしていてプログラミング歴は8年目になります。

普段は Python、FileMaker等を使って様々な業務で活用できるIoTプロダクトRPAツールを作成しています。
開発実績としては、業務自動化ツール(在庫管理・発注・ファイル操作 etc)、電子カルテシステム、ロボット用プログラムなどがあります。
TechAcademyではPythonコースを担当しております。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

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

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。