이 튜토리얼에서는 파이썬(Python)에서 사용자로부터 입력을 받는 방법을 알아보겠습니다.
파이썬 2에서의 입력 처리
파이썬 2에서는 사용자 입력을 받기 위한 두 가지 함수가 제공됩니다. 하나는 raw_input()이고, 다른 하나는 input()입니다.
- raw_input([prompt]): 사용자가 입력한 값을 항상 문자열(string)로 반환합니다.
- input([prompt]): 사용자가 입력한 값을 정수(int) 등 해당 자료형으로 평가하여 반환합니다.
예제 코드
# '문자열' 입력 받기
a = raw_input('Enter your name:- ')
# 자료형 출력
print(type(a))
# '정수' 입력 받기
b = input()
# 자료형 출력
print(type(b))실행 결과
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
Enter your name:- Tutorialspoint <type 'str'> 5 <type 'int'>
파이썬 3에서의 입력 처리
파이썬 3에서는 raw_input() 함수가 제거되었으며, 이제는 input([prompt]) 함수만 사용할 수 있습니다.
중요한 점은 파이썬 3의 input() 함수는 사용자가 무엇을 입력하든 항상 문자열로 반환한다는 것입니다. 따라서 숫자나 다른 자료형이 필요하다면 내장 함수를 이용해 직접 형 변환을 해주어야 합니다.
예제 코드
# 사용자로부터 입력 받기
a = input('Enter a name:- ')
# 데이터와 자료형 출력
print(type(a), a)
# 숫자 입력 요청
b = input('Enter a number:- ')
# '문자열'을 '정수'로 변환
b = int(b)
# 변환된 데이터와 자료형 출력
print(type(b), b)실행 결과
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
Enter a name:- Tutorialspoint <class 'str'> Tutorialspoint Enter a number:- 5 <class 'int'> 5
자주 사용되는 형 변환 함수
- int(x): 문자열을 정수형으로 변환
- float(x): 문자열을 실수형으로 변환
- str(x): 다른 자료형을 문자열로 변환
마무리
파이썬 2와 파이썬 3의 입력 처리 방식에는 차이가 있지만, 현재는 파이썬 3의 input() 함수를 사용하는 것이 표준입니다. 입력값은 항상 문자열로 반환되므로, 필요에 따라 int(), float() 같은 함수로 형 변환하는 습관을 들이면 좋습니다.
튜토리얼에 대해 궁금한 점이 있다면 댓글로 남겨주세요!