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

파이썬에서 입력값을 정수로 읽는 방법 완벽 정리

파이썬(Python)에서 사용자로부터 입력을 받아 정수로 처리해야 하는 경우가 자주 있습니다. 이 글에서는 파이썬 버전별로 입력값을 정수로 읽는 방법을 살펴보겠습니다.

Python 3.x에서 입력을 정수로 변환하기

Python 3.x에는 사용자 입력을 받기 위한 내장 함수 input()이 기본적으로 제공됩니다. 다만 주의할 점은 input() 함수는 항상 문자열(string) 데이터를 반환한다는 것입니다. 따라서 반환된 값을 변수에 저장하면 문자열 타입으로 저장됩니다.

입력값을 정수로 사용하려면 내장 함수 int()를 사용하여 반드시 정수형으로 변환해야 합니다.

예제 코드

>>> var = int(input("나이를 입력하세요: "))
나이를 입력하세요: 21
>>> var
21
>>> type(var)
<class 'int'>

위 예제에서 input()으로 받은 값이 int() 함수를 통해 정수형으로 변환되어 var 변수에 저장된 것을 확인할 수 있습니다. type(var) 결과가 <class 'int'>인 것으로 보아 정수 타입임을 알 수 있습니다.

주의사항: ValueError 발생

int() 함수는 사용자가 입력한 값이 숫자(정수)로만 구성되어 있을 때만 정상적으로 정수를 해석합니다. 만약 숫자가 아닌 문자나 잘못된 형식의 값이 입력되면 ValueError 예외가 발생합니다.

따라서 실무에서는 try-except 블록을 활용해 예외 상황을 처리하는 것이 좋습니다.

try:
    var = int(input("숫자를 입력하세요: "))
except ValueError:
    print("유효한 정수를 입력해주세요.")

Python 2.x에서의 동작 방식

Python 2.x에서는 input() 함수가 입력값을 그대로 평가(evaluate)하고, 평가 결과에 따라 적절한 데이터 타입을 자동으로 반환했습니다. 즉, 숫자를 입력하면 정수형으로 반환되었지만, 이 방식은 코드 실행 취약점(security issue)이 있어 Python 3.x부터는 제거되었습니다.

Python 2.x에서 Python 3.x의 input()과 동일한 동작을 원한다면 raw_input() 함수를 사용해야 합니다.