Pythonでのeval関数の使い方|基本的な使い方からコマンド実行まで解説

公開日時:   更新日時:
Pythonでのeval関数の使い方|基本的な使い方からコマンド実行まで解説
基本情報技術者試験の試験対策はこちら>>
SE
Pythonでのeval関数の使い方について詳しく教えていただけませんか。
PM
それでは、Pythonでのeval関数の使い方について解説いたしましょう。

Pythonでのevalの使い方とは?


今回は、Pythonでのeval関数の使い方について説明します。eval関数は、第1引数を式として評価します。例えば、eval(‘2 + 3’)とすると、5を返します。

ここでは、
・基本的な使い方
・引数
・execとの違い
・関数実行
・literal_evalとの違い
・コマンド実行
について紹介します。

Pythonでのeval関数の使い方に興味のある方はぜひご覧ください。

基本的な使い方

Pythonでのeval関数の基本的な使い方を紹介します。eval関数は、第1引数を式として評価します。実際のコマンドを見てみましょう。

evalは式の結果を戻り値として返します。

変数をevalの中で使うこともできます。

evalを使って文字列の結合もできます。

式を評価するので、以下のような使い方もできます。

式ではなく文を指定すると、SyntaxErrorが発生します。

Pythonでのeval関数の基本的な使い方を紹介しました。

引数

Pythonでのeval関数の第2引数および第3引数について紹介します。第2引数はグローバル名前空間、第3引数はローカル名前空間を指定できます。実際のコマンドを見てみましょう。

変数が同じ場合は、ローカル名前空間が優先されることが分かります。

execとの違い

Pythonでは、eval関数によく似た関数にexec関数があります。exec関数は、第1引数を文として評価します。eval関数は式で評価するので、文を指定するとSyntaxErrorになりますが、exec関数はエラーになりません。

また、exec関数の戻り値はNoneになります。

関数実行

Pythonでは、eval関数で関数を実行することができます。実際のコマンドを見てみましょう。

以下のように、関数を定義してevalで実行することもできます。

このようにPythonでは、eval関数で関数を実行することができます。

literal_evalとの違い

Pythonでは、literal_eval関数で文字列をリストや辞書に変換できます。プログラムの先頭に「import ast」を記述してください。実際のソースコードを見てみましょう。まずは、文字列をlistに変換します。

実行結果は以下のようになります。

文字列をdictに変換することもできます。

実行結果は以下のようになります。

文字列をsetに変換することもできます。

実行結果は以下のようになります。

コマンド実行

eval関数を使えば、システム関数を実行することもできます。実際のコマンドを見てみましょう。

このように、eval関数でシステムコマンドを実行することもできます。

SE
基本的な使い方や引数、execとの違いについてよく分かりました。
PM
ご紹介したソースコードを参考にご自身でもぜひ書いてみてください。

まとめ


いかがでしたでしょうか。Pythonでのeval関数の使い方について説明しました。eval関数は、第1引数を式として評価します。

ぜひご自身でPythonのソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags