728x90
eval()
문자열로된 식을 인자로 받아 실행하는 기능을 하는 내장함수
a = 10
code = '''
a+20
'''
print(eval(code))
더보기
30
exec()
문자열로된 코드를 인자로 받아 실행하는 기능을 하는 내장함수
a = 10
code = '''
b = a+20
'''
exec(code)
print(b)
더보기
30
eval() exec() 비교
대입문이 있어서 오류 발생
a = 10
code = '''
b = a+20
'''
eval(code)
더보기
b = a+20
^
SyntaxError: invalid syntax
compile()
문자열로된 코드를 인수로 받아 AST 객체로 컴파일하는 내장함수 (eval() 또는 exec()로 실행가능)
code = '''
n1 = 100
n2 = 200
print('n1 + n2 =', n1 + n2)
'''
c = compile(code, '<string>', 'exec')
exec(c)
print(n1, n2)
code = '10 + 20'
c = compile(code, '<string>', 'eval')
print(eval(c))
더보기
n1 + n2 = 300
100 200
30
'Language > Python' 카테고리의 다른 글
파이썬 자료형 타입 확인하기 (0) | 2020.06.18 |
---|---|
파이썬 날짜, 시간 다루기 (0) | 2020.06.18 |
파이썬 멀티라인에 대한 코드 연결 및 변수 할당 알아보기 (0) | 2020.06.17 |
파이썬 변수 네이밍 규칙 알아보기 Naming Conventions (0) | 2020.06.17 |
파이썬 예약어 알아보기 (0) | 2020.06.17 |