Pythonには、文字列を評価してその結果を返すeval
関数と、文字列を整数に変換するint
関数があります。これらの関数は似ているようでいて、それぞれ異なる用途と特性を持っています。
eval関数とは
eval
関数は、文字列として表されたPython式を評価し、その結果を返す関数です。動的に式を生成して実行することが可能となります。
expression = "2 + 3 * 4"
result = eval(expression)
print(result) # 14
int関数とは
int
関数は、数字を整数に変換する関数で、文字列を整数に変換することも可能です。
s = "123"
result = int(s)
print(result) # 123
eval関数とint関数の違い
eval
関数とint
関数の主な違いは、eval
関数は任意のPython式を評価できるのに対し、int
関数は文字列を整数に変換することしかできない点です。
注意点
eval
関数は任意のコードを実行するため、悪意あるコードを実行されるリスクがあります。ユーザーからの入力をそのままeval
関数で評価すると、システムに悪影響を及ぼすコードを実行される可能性があります。
以上がPythonのeval
関数とint
関数の基本的な使い方と違いについての説明です。これらの関数を理解し、適切に使用することで、Pythonプログラミングの幅が広がります。