[Pyhon] 문자열을 연산자로 사용하기
[Pyhon] 문자열을 연산자로 사용하기
원하는 것
문자열로 연산식을 받고 이것에 대한 계산결과를 보고 싶습니다.
예로 3 + 2
를 받으면 5
이라는 결과를 받고 싶습니다.
방법 1 : eval
단순하게 if
를 사용해도 eval
을 사용해도 됩니다.
>> eval("3 + 2")
5
그런데 eval
의 경우에는 원하는 용도 이외에도 처리해버리기 때문에 위험합니다.
방법 2 : operator
python에서는 operator
라는 패키지를 제공합니다.
이것을 활용하여 연산처리를 진행하면 됩니다.
import operator
ops = {
"+": operator.add,
"-": operator.sub,
"*": operator.mul,
"/": operator.truediv
}
input = "3 + 2"
split_input = input.split(" ")
print(ops[input[1]](input[0], input[2]))
# 5
operator
에서 지원하는 연산자 목록은 아래를 참고하세요.
마지막 수정일자