タグ

execとevalに関するItisangoのブックマーク (1)

  • 【Python】文字列をプログラムとして実行する(exec,eval,getattr,literal_eval)  | 初心者DIYプログラミング入門

    今回は、文字列の中に記載されたメソッドや関数を Python から実行する方法です。 exec、eval、 literal_eval 、getattr あたりを使うことで実現可能なのですが、呼び出し側(文字列を関数として呼び出す側)と呼び出された側(文字列に記述した式)での値の受け渡しなどは、他のサイトではあまり触れられていないので、この記事ではその点を中心に解説したいと思います。 「文字列をプログラムとして実行する」とは そもそも「文字列をプログラムとして実行する」というのは、例えば文字列として "myfunc(100)" という文字列が与えられた場合、「 myfunc(100) を実行する」と解釈して、myfunc(100)を実行するという事になります。 プログラムと言っても実際には関数に限ったものではなく、文字列をPythonのプログラムと解釈させて実行することが可能です。 文字列を

    【Python】文字列をプログラムとして実行する(exec,eval,getattr,literal_eval)  | 初心者DIYプログラミング入門
    Itisango
    Itisango 2022/02/10
    「2 文字列をプログラムとして実行する exec 関数/3 1つの文を実行して結果を返すeval関数/4 文字列からリストや辞書を生成して返す literal_eval 関数/5 メソッド名の文字列でクラスのメソッドを呼ぶ getattr 関数」
  • 1