일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- floor
- timestamp
- 딕셔너리
- 네이밍
- mysql
- 소수
- SUM()
- convention
- 세그먼트 트리
- itertools
- 외래키
- project euler
- 파이썬
- Dictionary
- 자료구조
- 2557
- 에라토스테네스의 체
- Codeforces
- list comprehension
- BOJ
- FOREIGN KEY
- ceil
- datetime
- SUM
- python
- lower_case_table_names
- flask
- enumerate
- 큰 수 나누기
- 리스트 컴프리헨션
Archives
- Today
- Total
늒네 기록
[python] eval()함수에 대하여 본문
아주 단순하게 생각하면, 어떤 계산을 하고 싶은데, 그게 텍스트로 되어있는 경우에 딱 활용할만한 함수라고 생각하면 된다. 예를 들어, a@b@c@d 값을 구하고 싶은데, 이때 @칸에 +, -, *, /의 조합이 자유롭게 들어올 수 있다고 해보자. 그렇다면 @칸에 연산자를 집어넣은 뒤 결과를 어떻게 계산할 수 있을까?
1
2
|
x = eval('1+2/3*4')
print(x) # 3.6666666666666665
|
cs |
이런 상황에서 eval을 쓰면 바로 계산해준다!
검색해보면 eval함수 외에도 exec(), compile()함수가 있고, 다른 argument를 넣을 수도 있으며, 해당 함수를 사용하는 데에 장단점이 있는것 같지만, 이 글에서는 이런 함수가 존재한다는 사실만 적어두고 디테일한 내용은 추후 다른 글에서 다루도록 하겠다.
텍스트로 주어진 계산이 가능하면, 이는 프로젝트 오일러 93번에 매우 유용하게 활용할 수 있다.
반응형
'언어 공부 기록 > python' 카테고리의 다른 글
[python] lambda와 reduce의 활용을 통한 리스트 아이템의 곱 구하기 (0) | 2020.10.01 |
---|---|
[python] product, permutations, combinations 함수에 대하여 (0) | 2020.10.01 |
[python] enumerate()함수에 대하여 (0) | 2020.09.26 |
[python] sum() 함수에 대하여 (0) | 2020.09.24 |
[python] list comprehension - 2 (0) | 2020.09.12 |
Comments