늒네 기록

[python] eval()함수에 대하여 본문

언어 공부 기록/python

[python] eval()함수에 대하여

jaeha lee 2020. 9. 30. 02:55

아주 단순하게 생각하면, 어떤 계산을 하고 싶은데, 그게 텍스트로 되어있는 경우에 딱 활용할만한 함수라고 생각하면 된다. 예를 들어, a@b@c@d 값을 구하고 싶은데, 이때 @칸에 +, -, *, /의 조합이 자유롭게 들어올 수 있다고 해보자. 그렇다면 @칸에 연산자를 집어넣은 뒤 결과를 어떻게 계산할 수 있을까?

1
2
= eval('1+2/3*4')
print(x) # 3.6666666666666665
cs

이런 상황에서 eval을 쓰면 바로 계산해준다!

 

검색해보면 eval함수 외에도 exec(), compile()함수가 있고, 다른 argument를 넣을 수도 있으며, 해당 함수를 사용하는 데에 장단점이 있는것 같지만, 이 글에서는 이런 함수가 존재한다는 사실만 적어두고 디테일한 내용은 추후 다른 글에서 다루도록 하겠다.

 

텍스트로 주어진 계산이 가능하면, 이는 프로젝트 오일러 93번에 매우 유용하게 활용할 수 있다.

반응형
Comments