Pythonのreprについて調べた
auです。
Pythonのreprについて調べました。
reprとは
reprとは、evalに渡した際に、実行できる形の文字列を精製します。
representationの略称で、「表現・描写」という意味があります。
文字列なので、同じような使い方をする「str」があります。こっちの方が使う気がする。
strは非公式で、reprは公式であるというような書かれ方をしているので、strは見やすいようにしているだけで、Python内で使う(デバッグなど)には、reprの方が適しているようです。
実際に使ってみると、reprはevalを使ってPythonの式で実行されていますが、strだとエラーが返ってくるという違いがあります。
print(eval(repr('hoge'))) print(eval('hoge')) hoge Traceback (most recent call last): File "test.py", line 13, in <module> print(eval('hoge')) File "<string>", line 1, in <module> NameError: name 'hoge' is not defined
strは読みやすい形だけどPython的には不適切= ユーザに見せる出力に使う
reprは読みにくいけどPython的には適切 = デバッグの出力に使う
というような違いがあるようです。