今回は、文字列の中に記載されたメソッドや関数を Python から実行する方法です。 exec、eval、 literal_eval 、getattr あたりを使うことで実現可能なのですが、呼び出し側(文字列を関数として呼び出す側)と呼び出された側(文字列に記述した式)での値の受け渡しなどは、他のサイトではあまり触れられていないので、この記事ではその点を中心に解説したいと思います。 「文字列をプログラムとして実行する」とは そもそも「文字列をプログラムとして実行する」というのは、例えば文字列として "myfunc(100)" という文字列が与えられた場合、「 myfunc(100) を実行する」と解釈して、myfunc(100)を実行するという事になります。 プログラムと言っても実際には関数に限ったものではなく、文字列をPythonのプログラムと解釈させて実行することが可能です。 文字列を
![【Python】文字列をプログラムとして実行する(exec,eval,getattr,literal_eval) | 初心者DIYプログラミング入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/eb8e799051ec215e98e63db862122b517ae51f7f/height=288;version=1;width=512/https%3A%2F%2Fresanaplaza.com%2Fwp-content%2Fuploads%2F2021%2F06%2Fpythonlogo2.jpg)