2010. 7. 30. 05:08
  • eval – 문자열로 된 파이썬 식(expression)
    • eval (expression[, globals[, locals]])

>>> a = 1

>>> a = eval('a + 4')

>>> a

5

  • exec – 문자열로 된 문(statement)
    • exec code [ in globals [, locals]]

>>> a = 5

>>> exec 'a = a + 4'

>>> a

9

※ global – 전역 영역 사전, local은 지역 영역 사전. (이들 인수는 선택적)

  • compile(*)
    • exec나 eval은 문자열로 입력된 코드를 분석해서 파이썬 컴파일 코드로 변환하기 때문에,

      이러한 코드를 반복 수행하게 되면 변환에 필요한 시간은 크게 늘어난다.

    • 효율적인 수행 방법은 문자열을 파이썬 코드로 한번 변환해 둔 후에, 코드를 활용.
    • compile (string, filename, kind)
    • string – 코드 문자열, filename – 코드 문자열이 저장된 파일명, kind – 코드 종류 형식

>>> code = compile ('a + 1', '<string>', 'eval')

>>> a = 1

>>> for k in range(10):

a = eval(code)

>>> a

11

 

'Programming > Python' 카테고리의 다른 글

◎ 자료형의 종류(문자열,리스트,튜플,사전)  (0) 2010.07.31
◎ 콘솔 입 .출력  (0) 2010.07.30
◎ 파이썬 기초문  (0) 2010.07.30
◎ 변수명 및 예약어  (0) 2010.07.30
◎ 파이썬 설치  (0) 2010.07.30
Posted by devanix