Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 raw_input() 함수란? 기능과 input()과의 차이점 총정리

파이썬의 raw_input() 함수는 사용자에게 프롬프트(안내 메시지)를 화면에 표시하고, 사용자가 키보드로 입력한 내용을 받아 그 값을 문자열(string) 형태로 반환하는 함수입니다. 선택적으로 인자를 하나 전달하면 해당 인자가 프롬프트 메시지로 출력됩니다.

name = raw_input("What is your name? ")
print "Hello, %s." % name

raw_input()과 input()의 차이점

raw_input()은 사용자의 입력을 어떤 값이든 항상 문자열로 그대로 반환하는 반면, input()은 입력된 내용을 파이썬 표현식으로 해석(evaluate)하려고 시도한다는 점에서 서로 다릅니다.

예를 들어 input()을 사용할 때 사용자가 숫자나 변수 이름 등을 입력하면 파이썬이 이를 곧바로 코드로 실행하려고 하기 때문에, 의도치 않은 오류나 심각한 보안 문제가 발생할 수 있습니다. 따라서 일반적으로는 input() 사용을 피하고, raw_input()으로 입력을 받은 뒤 필요에 맞게 직접 자료형 변환(int(), float() 등) 코드를 작성하는 방식이 가장 안전하며 권장됩니다.

참고: 파이썬 3에서의 변경 사항

raw_input()은 파이썬 2에서만 제공되던 함수입니다. 파이썬 3부터는 raw_input()이 제거되고, 기존 raw_input()의 동작 방식이 input()으로 통합되었습니다. 즉, 파이썬 3 환경에서는 input()이 항상 문자열을 반환하므로, 위에서 설명한 것처럼 입력값을 필요한 자료형으로 직접 변환하여 사용하면 됩니다.