파이썬 eval 함수는 파이썬의 내장 함수 중 하나로, 문자열로 표현된 파이썬 표현식을 실행하고 그 결과를 반환하는 역할을 한다. eval() 함수의 사용 목적은 주로 사용자 입력을 받아 파이썬 코드를 동적으로 실행하거나, 문자열로 표현된 수식을 계산하는 경우에 활용된다.
eval 함수를 사용하여 문자열 수식을 실행하고 결과를 반환하는 예제이다. 문자열 "Hello "를 3번 반복한 후 "World"와 연결하여 "Hello Hello Hello World"를 반환한다.
조건문과 변수 사용
x = 10
y = 5
condition = "x > y"
if eval(condition, globals()):
print("x는 y보다 큽니다.")
else:
print("x는 y보다 작거나 같습니다.")
eval 함수를 사용하여 변수 x와 y의 값을 비교하는 조건물을 실행하는 예제이다. eval 함수를 사용하여 조건식을 실행하고, 결과가 True이면 "x는 y보다 큽니다"를 출력하고, 그렇지 않으면 "x는 y보다 작거나 같습니다"를 출력한다. eval 함수의 두 번째 파라미터로 들어가는 globals()는 x와 y에 대해 전역변수로 접근할 수 있게 해 준다.
간단한 함수 정의와 호출
function_definition = "def add(a, b): return a + b"
eval(function_definition)
result = eval("add(2, 3)")
print(result) # 출력: 5
eval 함수를 사용하여 함수를 동적으로 정의하고 호출하는 예제이다. function_definition 변수에 문자열로 함수를 정의를 할당한다. 함수가 정의되면 해당 함수를 사용하여 2 + 3의 결과를 result 변수에 저장한다.
eval 함수 사용자 입력 예외 처리
eval 함수를 사용할 때 사용자 입력에 대한 예외 처리는 매우 중요하다. 사용자 입력이 잘못된 경우, 프로그램은 오류를 발생시키지 않도록 예외처리를 해야 한다. 이를 위해 try와 except 구문을 사용할 수 있다.