Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발부터 자유까지

[Python] input vs sys.stdin.readline 본문

Python

[Python] input vs sys.stdin.readline

건물주개발자 2024. 8. 25. 16:41

파이썬 3.X 에서 알고리즘 문제를 풀다보면 input 으로 입력을 받을때가 있고, sys.stdin.readline 을 사용해서 입력을 받을 때가 있다. 이 두 방법의 차이점을 모르고 사용하기보다 알고 사용하는게 좋기 때문에 정리해본다.

사소해보일지라도 생각보다 차이점이 많고, 의미가 있어보인다.

 

input()

  • input() 함수는 내장함수다.
  • parameter로 prompt message 를 받을 수 있다. 그래서 입력받기 전 prompt message를 출력해야 하기 때문에 느려진다.
  • input() 내장함수는 입력받은 값의 개행 문자를 삭제시켜서 리턴한다.
  • 더 이상 입력이 없는데도 수행될 경우 EOFError를 발생시킨다.
a = input("입력하세요: ")
> 입력하세요: hello
print(len(a))
> 5

 

출처 - https://docs.python.org/3/library/functions.html#input

 

 

sys.stdin.readline()

  • sys 모듈을 import 하고 사용할 수 있는 함수다.
  • paramer를 입력 받을 수 없고 입력값을 문자열로 받는다.
  • 한 줄 단위로 입력받기 때문에 개행문자를 포함한 값을 리턴한다.
import sys

string = sys.stdin.readline().rstrip()
> 12345
print(len(string))
> 5