코딩이 즐겁다

[파이썬 기초] 남들은 모르는 파이썬 input() 함수 갓벽 가이드 본문

Python

[파이썬 기초] 남들은 모르는 파이썬 input() 함수 갓벽 가이드

코즐 2025. 2. 4. 09:29
반응형

 

파이썬 input() 함수란?

파이썬(Python)에서 input() 함수는 사용자로부터 입력을 받는 기능을 합니다. 기본적으로 문자열을 반환하며, 프로그램이 실행될 때 동적으로 데이터를 입력받을 수 있도록 도와줍니다. 또한 자바를 사용해보신 분이라면 자바의 Scanner 클래스를 떠올려 주시면 됩니다. 두 가지 모두 사용자로부터 입력 받아 변수에 담아준다는 공통점이 있습니다. 파이썬 input함수의 경우, 입력을 받아 원하는 타입으로 형변환 하여 사용해야 하지만 자바의 Scanner 클래스의 경우는 직접 원하는 타입을 입력 받을 수 있다는 차이점이 있습니다. 

 


 

파이썬 input() 함수 사용법

기본 사용법

✅ 예제:

n = input("입력하시오 : ")

print(n)
print(type(n))

'''
실행 결과
입력하시오 :  123
123
<class 'str'>
'''

 

input() 함수의 반환 타입

input()은 항상 문자열(str) 타입으로 반환됩니다. 숫자를 입력하더라도 문자열로 저장되므로, 숫자로 연산하려면 변환해야 합니다.

✅ 예제:

num = input("Enter a number: ")  
print(type(num))  # <class 'str'>

 

💡 정수 또는 실수 타입 변환 예제

✅ 예제:

num = int(input("Enter a number: "))  # 정수 변환
print(type(num))  # <class 'int'>

num = float(input("Enter a decimal number: "))  # 실수 변환
print(type(num))  # <class 'float'>

 


 

여러 개의 값 입력 받는 방법

split()을 활용한 입력 처리

input().split()을 사용하면 여러 개의 값을 한 번에 입력받을 수 있습니다.

✅ 예제:

a, b = input("Enter two numbers: ").split()
print(f"a: {a}, b: {b}")

'''
실행 결과
Enter two numbers: 10 20
a: 10, b: 20
'''

▶ split()은 공백을 기준으로 문자열을 나누어 리스트로 반환합니다.

 

map()을 활용한 입력 처리

여러 개의 숫자를 입력받아 변환할 때 map(int, input().split())을 사용하면 편리합니다.

✅ 예제:

x, y, z = map(int, input("Enter three numbers: ").split())
print(f"x: {x}, y: {y}, z: {z}")

'''
실행 결과
Enter three numbers: 5 10 15
x: 5, y: 10, z: 15
'''

▶ map(int, input().split())은 입력받은 문자열을 int로 변환한 후 여러 변수에 저장하는 방식입니다.

 

input()을 활용한 안전한 숫자 입력 처리

사용자가 숫자가 아닌 값을 입력했을 때 오류가 발생하지 않도록 예외 처리하는 것이 중요합니다.

✅ 예제:

while True:
    try:
        num = int(input("Enter an integer: "))
        print(f"You entered: {num}")
        break  # 정상 입력 시 루프 종료
    except ValueError:
        print("Invalid input! Please enter a valid integer.")

'''
실행 결과
Enter an integer: abc
Invalid input! Please enter a valid integer.

Enter an integer: 42
You entered: 42
'''

▶ try-except 블록을 사용하면 잘못된 입력이 들어왔을 때 프로그램이 멈추지 않고 다시 입력을 받을 수 있습니다.

 

getpass 모듈을 활용한 보안 입력

비밀번호 입력 시 input()을 사용하면 입력값이 화면에 그대로 노출됩니다. 이때 getpass 모듈을 사용하면 입력값을 숨길 수 있습니다.

✅ 예제:

from getpass import getpass

password = getpass("Enter your password: ")
print("Password received!")

'''
실행 결과
Enter your password: ******
Password received!
'''

▶ 비밀번호 입력 시 화면에 입력값이 표시되지 않습니다.

 

sys.stdin.readline()을 활용한 빠른 입력 처리

input()은 한 줄씩 입력을 받을 때 속도가 느릴 수 있습니다. 대량의 입력을 빠르게 처리하려면  sys.stdin.readline()을 사용하는 것이 좋습니다.

✅ 예제:

import sys

data = sys.stdin.readline().strip()  # 입력 후 개행 문자 제거
print(f"Input: {data}")

 


 

코즐

파이썬을 배우고 싶은 사람은 누구나 파이썬 학원(국비 지원 파이썬 학원)에 가지 않고도 파이썬 공부를 하면서 실력을 쌓아나갈 수 있다고 생각합니다. 

파이썬 온라인 강의 자료를 올리면서 누구나 쉽게 파이썬을 공부하실 수 있도록 최선을 다해서 설명하도록 하겠습니다.

 


 

 

반응형