Python: eval/int/float
개요
- evaluate(평가하다)의 약자
- 전달되는 문자열을 분석해서 적절한 처리 수행
- 함수 이름을 입력받으면 해당 함수를 호출
- 표준 입력 사용 시 의도하지 않은 함수 호출이 가능한 보안 취약점 발생
- 단순히 문자열을 숫자로 변환하려면 int/float 함수를 이용
예제
- 코드
def func():
return 1
if __name__ == "__main__":
print(eval("1") + eval("2"))
print(eval("2.5") * 2)
print(eval("1 + 2 - 5"))
print(eval("func()"))
print("------")
print(int(1.1))
print(int("1"))
print("------")
print(float(1))
print(float("1.1"))
- 실행 결과
3
5.0
-2
1
------
1
1
------
1.0
1.1