키보드 입력 읽기
많은 프로그램은 대화형입니다. 대화형 작업 지원은 입력에 따라 다르게 실행되는 프로그램이 있음을 의미합니다. 프로그램에 데이터를 입력하는 주체는 일반적으로 사용자이지만 다른 프로그램일 수도 있습니다. 프로그램에 입력을 보내는 방법에는 여러 가지가 있으며 그래픽 인터페이스 또는 콘솔을 사용하는 것이 두 가지 일반적인 방법입니다.
사용자 입력
키보드 입력을 읽을 수 있도록 Python은 input()
함수를 제공합니다. input()
은 사용자가 키보드로 입력하는 내용을 읽고 문자열로 반환합니다. 다음은 input()
과 print()
를 결합하여 사람의 이름을 입력 받아서 화면에 표시하는 예시입니다.
name = input('Enter your name:')
print(name)
input
함수에 인수로 전달된 문자열은 사용자에게 프롬프트로 표시됩니다. 이 예시에서는 사용자에게 자신의 이름을 입력하도록 요청합니다('이름을 입력하세요'). 사용자가 이름을 입력하고 Enter 키를 누르면 input
함수가 값을 반환합니다. 이 함수의 반환 값은 사용자가 입력한 텍스트이며, 해당 텍스트는 name
이라는 변수에 할당됩니다. name
변수는 사용자가 입력한 이름을 출력하는 print
함수의 입력 또는 인수로 사용됩니다.
매개 변수 없이 input
함수를 호출할 수도 있습니다.
print('What is your name?')
name = input()
print(name)
이 프로그램은 첫 번째 프로그램과 거의 동일하게 작동할 것입니다. print
(기본값)는 출력에 줄 바꿈 문자를 추가한다는 차이점이 있습니다.
숫자를 입력으로 읽기
input
함수는 입력된 값을 항상 문자열(텍스트)로 반환합니다. 사용자는 무엇이든 원하는 값을 입력할 수 있으므로 이렇게 하는 것이 합리적입니다. 입력이 유효한 숫자인 경우에도 input
함수의 문자열 형식으로 반환됩니다. 다음은 그 예입니다.
x = input('Enter a number: ')
print(type(x))
이 코드를 실행하고 값 ‘5’를 입력하면 값 자체는 숫자일지라도 <class 'str'>
이 표시됩니다. 값을 정수 변수로 바꾸려면 다음과 같이 int()
함수를 사용하면 됩니다.
x = int(input('Enter a number: '))
print(type(x))
이 코드는 값 '5'에 대한 <class 'int'>
를 출력합니다. 소수 부분을 원하는 경우 float
함수를 동일한 방법으로 사용하면 됩니다.
중요
숫자가 아닌 입력을 int()
함수에 전달하면 어떻게 될까요? 예상하시겠지만, 이는 잘못된 것으로 런타임 오류가 발생합니다. 프로그램이 이 명령문에서 종료되며, 사용자는 Python 대화형 콘솔에서 직접 시도할 수 있습니다. 이후에 살펴볼 모듈에서는 이러한 종류의 오류를 처리하는 다양한 솔루션을 다루겠습니다.
숫자를 문자열로 변환
반대 방향도 가능합니다. str()
메서드는 정수 또는 부동 소수점 값을 받아서 문자열로 변환합니다. 다음 코드 예제가 작동하도록 하려면 str()
메서드를 호출해야 합니다. 변환을 수행하면 문자열 형식의 정수가 왼쪽의 문자열에 연결됩니다.
x = 5
print('The number is ' + str(x))