[Python] eval(), exec() 함수

2022. 3. 7. 20:372018년 이전 관심사/프로그램 언어

반응형

eval() 함수

문자열로 표현된 파이썬 식을 인수로 받아 파이썬 컴파일 코드로 변환

a = 1
a = eval('a+4')
print(a)


결과 : 5

 

외부에서 입력 받은 문자열로 조건문을 수행 하고 싶을 때 활용 가능

exampleCode = "1 < 0"
if eval(exampleCode):
    print("Zero is less than one")
exampleCode = "(int({0}/{1}) < 1) and ({1} >= 7)".format(7,10)

if eval(exampleCode):
    print("Success")

 

주의 : eval 함수에 문을 인수로 받으면 Syntax Error 발생

- eval('a = a+4') 는 Syntax Error 임

exec() 함수

문자열로 표현된 파이썬 문을 인수로 받아 파이썬 컴파일 코드로 변환

a = 5
exec('a=a+4')
print(a)

결과 : 9

 

참고 자료

https://nan491.tistory.com/entry/Python-3-eval-%ED%95%A8%EC%88%98%EC%99%80-exec-%ED%95%A8%EC%88%98

 

반응형