[파이썬] exec()와 eval() 함수 사용 예제

exec()eval() 함수는 파이썬에서 코드를 동적으로 실행하거나 표현식을 평가할 때 사용됩니다. 이제 각 함수에 대한 사용 예제를 제공하겠습니다.

1. exec() 함수 사용 예제:

exec() 함수를 사용하여 파이썬 코드를 실행하는 예제입니다.

code = """
def greet(name):
    print(f"Hello, {name}!")

greet("Alice")
"""

exec(code)
# "Hello, Alice!" 출력

2. eval() 함수 사용 예제:

eval() 함수를 사용하여 파이썬 표현식을 평가하는 예제입니다.

expression = "3 + 5"
result = eval(expression)
print(result)  # 8 출력

eval() 함수는 표현식의 결과를 반환합니다.

3. 변수와 함께 eval() 사용 예제:

eval() 함수를 사용하여 변수를 활용하는 예제입니다.

x = 10
y = 20
expression = "x + y"
result = eval(expression)
print(result)  # 30 출력

eval() 함수는 변수의 값을 현재 스코프에서 찾아서 사용합니다.

4. exec() 함수를 사용하여 함수 동적 생성 및 호출:

exec() 함수를 사용하여 함수를 동적으로 생성하고 호출하는 예제입니다.

code = """
def add(a, b):
    return a + b
"""

exec(code)
result = add(3, 4)
print(result)  # 7 출력

exec() 함수를 사용하여 함수 코드를 실행한 후 함수를 호출할 수 있습니다.

exec()eval()은 코드의 동적 생성과 실행을 가능하게 합니다. 하지만 사용자 입력과 같은 외부 입력을 처리할 때 보안상 주의해야 합니다. 사용자 입력을 그대로 실행하는 것은 보안 문제가 될 수 있으므로 안전한 방법으로 처리해야 합니다.