반응형
파이썬 내장함수인 eval() 함수에 대해 알아보겠습니다.
eval(expression, globals=None, locals=None) |
문자열로 된 파이썬 표현식을 평가하고 실행합니다.
인수 expression은 문자열로 된 파이썬 식이며, globals는 딕셔너리(dictionary)이며, locals은 모든 객체(object)가 맵핑될 수 있습니다.
>>> eval('10 + 20 * 2') 50 >>> x=1 >>> eval('x+1') 2 |
globals 인수는 다음과 같이 사용될 수 있습니다.
>>> exp1 = 'r * r * 3.14159' >>> eval(exp1, {'r':10}) 314.159 >>> exp2='a + b * c' >>> eval(exp2, {'a':1, 'b':2, 'c':3}) 7 |
이번에는 globals 인수를 비워두고, locals 인수를 사용해봤습니다.
expr="x+y" v=eval(expr, {}, {'x':10, 'y':5}) print(v) |
(Output)
15
globals, locals 인수를 모두 사용해도 결과는 잘 나옵니다.
expr="x+y" v=eval(expr, {'x':10}, {'y':5}) print(v) |
(Output)
15
eval() 함수의 인수로 함수명을 사용할 수도 있습니다.
def func1(): print('func1') def func2(x): print(x*x) eval("func1()") eval("func2(2)") |
(Output)
func1
4
반응형
'Python' 카테고리의 다른 글
(파이썬) 내장함수 pow() 거듭제곱 (0) | 2023.12.31 |
---|---|
(파이썬) 내장함수 filter() 필터 (0) | 2023.12.29 |
(파이썬) 내장함수 iter() 이터러블 이터레이터(iterable and iterator) (0) | 2023.12.27 |
(파이썬) 특정 폴더의 파일 목록, 확장자가 같은 파일 출력하기 (0) | 2023.12.26 |
(파이썬) 내장함수 enumerate() 열거 객체 (0) | 2023.12.23 |