언어 공부 기록/python
[python] eval()함수에 대하여
jaeha lee
2020. 9. 30. 02:55
아주 단순하게 생각하면, 어떤 계산을 하고 싶은데, 그게 텍스트로 되어있는 경우에 딱 활용할만한 함수라고 생각하면 된다. 예를 들어, a@b@c@d 값을 구하고 싶은데, 이때 @칸에 +, -, *, /의 조합이 자유롭게 들어올 수 있다고 해보자. 그렇다면 @칸에 연산자를 집어넣은 뒤 결과를 어떻게 계산할 수 있을까?
1
2
|
x = eval('1+2/3*4')
print(x) # 3.6666666666666665
|
cs |
이런 상황에서 eval을 쓰면 바로 계산해준다!
검색해보면 eval함수 외에도 exec(), compile()함수가 있고, 다른 argument를 넣을 수도 있으며, 해당 함수를 사용하는 데에 장단점이 있는것 같지만, 이 글에서는 이런 함수가 존재한다는 사실만 적어두고 디테일한 내용은 추후 다른 글에서 다루도록 하겠다.
텍스트로 주어진 계산이 가능하면, 이는 프로젝트 오일러 93번에 매우 유용하게 활용할 수 있다.
반응형