본문 바로가기

Python

[Python] 파이썬에서 사용자 입력 받기 - input() 함수

반응형

 

파이썬에서 명령 프롬프트를 통해 사용자의 입력을 받는 함수는 바로 input() 함수입니다. input()함수의 사용법은 다음과 같습니다.
 

input() 함수 사용법

사용자로 부터 데이터를 입력받기 위해서는 다음과 같이 input()함수를 사용하면 사용자로부터 데이터를 입력 받습니다.
input()
>>> input()
Hello world
'Hello world'
 
input("문자를 입력하세요 : ")
위 처럼 input 함수 안에 사용자로부터 입력을 요구하는 안내 문자열을 넣을수도 있습니다. 실행 결과는 아래와 같습니다.
>>> input("문자를 입력하세요 : ")
문자를 입력하세요 : 안녕하세요
'안녕하세요'
 
 

input()함수의 리턴값

input함수는 사용자로 부터 입력받은 데이터를 문자열 즉 'str' 타입으로 반환합니다. 즉 아래와 같이 숫자를 입력받은 경우에도 그 값은 문자열입니다. 
 
>>> data = input("아무거나 입력해보세요 : ")
아무거나 입력해보세요 : 12345
>>> print(data)
12345
>>> print(type(data))
<class 'str'>
 
위에서 보이는 코드는 사용자로부터 입력받은 데이터를 data 변수에 저장하고 해당 내용과 타입을 찍어주는 코드입니다. type 함수를 통해 타입을 살펴보니 str 형태이군요. 그래서 만약 숫자를 입력받아 숫자와 덧셈 연산을 하는 경우 아래와 같은 문제가 발생합니다.
 
>>> data = input("아무거나 입력해보세요 : ")
아무거나 입력해보세요 : 340
>>> print(340+data)
Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: unsupported operand type(s) for +: 'int' and 'str'

 

data자료형은 str인데 정수형과 덧셈을 하는 명령을 만나면 두 데이터의 타입이 많지 않아 TypeError가 발생하게 됩니다. 이러한 문제를 방지하기 위해서 문자열을 숫자로 바꾸어 주어야 합니다.
 
>>> print(340+int(data))
680
위와 같이 int()함수를 사용하면 함수의 인자로 들어온 변수를 정수형으로 변환해줍니다. 즉 문자열로 된 숫자를 강제적으로 숫자형으로 바꾸어서 덧셈 연산을 수행하는 것입니다. 이렇듯 input함수의 리턴값은 문자열 str 형인 것을 기억하시고 사용하세요.
반응형