python
문자열 코드 실행 --- eval, exec, compile
자유프로그램
2014. 4. 22. 12:12
반응형
문자열 코드 실행 --- eval, exec, compile
1. eval --- 문자열로 된 식을 실행
>>> a = '3 + 4' >>> eval(a) 7 >>> b = eval(a) >>> b 7
2. exec --- 문자열로 된 문장을 실행
>>> cmd = 'k = 3 + 4' >>> exec(cmd) >>> k # 없던 k 라는 변수가 생김. 7
3. compile -- https://docs.python.org/2/library/functions.html#compile
-- 문자열 소스를 컴파일 하여 , eval 이나, exec 에서 사용하게함.
>>> cmd = 'print 3333*23' >>> cc = compile(cmd, '<string>', 'exec') >>> exec(cc) 76659 >>> cmd2 = '33 + 44' >>> cc2 = compile(cmd2, '<string>', 'eval') >>> eval(cc2) 77 >>> b= eval(cc2) >>> b 77 >>>
반응형