Python
[Python] eval() 함수와 exec() 함수
YaluStar
2019. 1. 14. 23:52
[Python] eval() 함수와 exec() 함수
eval() 함수와 exec() 함수에 대하여 알아보겠습니다.
둘다 파이썬의 내장 함수이며, 문자열로 표현된 파이썬 코드를 실행할 때 사용합니다.
eval() 함수
문자열로 표현된 파이썬 식을 인수로 받아 파이썬 컴파일 코드로 변환한다.
파이썬 인터프리터가 번역하여 실행할 수 있다.
>>> a = 1
>>> a = eval(‘a + 4’)
>>> a
5
eval() 함수는 식만을 처리할 수 있기 때문에 문을 인수로 받으면 SyntaxError가 발생한다.
>>> eval(‘a = a + 4’)
SyntaxError: invalid syntax
exec() 함수
문자열로 표현된 문을 인수로 받아 파이썬 컴파일 코드로 변환한다.
파이썬 인터프리터가 번역하여 실행할 수 있다.
>>> a = 5
>>> exec(‘ a = a + 4’)
>>> a
9
exec() 함수는 여러 개의 문으로 사용할 수 있다.
>>> s = ‘’’
a = 1
if a > 0:
print(‘Success’)
‘’’
>>> exec(s)
Success
이상으로 eval과 exec 함수에 대하여 알아보았습니다.
반응형