[Python] eval/int/float
Updated:
개요
- 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