1. 속도 차이
- sys.stdin.readline이 더 빠르게 입력 받을 수 있음. 특히 여러 줄의 입력을 처리할 때 성능 차이가 더 크게 느껴짐.
2. 개행 문자 처리
- input()은 입력 받은 후 자동으로 개행 문자를 제거
- sys.stdin.readline()은 입력 받은 줄의 끝에 개행 문자가 포함되어 반환 됨. 이를 처리하려면 rstrip()을 사용하여 개행문자를 제거해줘야함.
3. 사용 용도
- input() 일반적인 사용자 입력을 받을 때 사용
- sys.stdin.readline()은 대량의 입력을 처리하거나 코딩테스트 같은 상황에서 사용. 입력이 많을 때 효율적이고 빠르기 때문에 속도가 중요한 경우에 선호 됨.
# input() 예시
name = input() # 사용자로부터 한 줄 입력 받기 (개행 문자 자동 제거)
print(name)
# sys.stdin.readline() 예시
import sys
name = sys.stdin.readline() # 사용자로부터 한 줄 입력 받기 (개행 문자 포함)
name = name.rstrip() # 개행 문자 제거
print(name)
4. 요약
- 속도 : sys.stdin.readline()이 더 빠름
- 개행 문자 처리 : input()은 자동으로 개행 문자를 제거. sys.stdin.readline()은 개행 문자를 포함해서 반환
- 주 사용처 : input()은 일반적인 입력에, sys.stdin.readline()은 대량 입력이나 빠른 처리가 필요할 때 사용.