파이썬

input()과 sys.stdin.readline()의 차이

hs-archive 2022. 5. 29. 23:03

https://unsplash.com/photos/wftNpcjCHT4

파이썬에서 input()과 sys.stdin.readline()의 차이에 대해 알아보자.

 

 

 

 


얻어갈 지식

  • input()과 sys.stdin.readline()의 차이

 

 

 

 

 

input()

  • input()이 호출되면 인자로 주어진 문자를 화면에 출력하고 사용자의 입력을 기다린다.
  • 사용자가 키를 누르면 그에 대응하는 데이터가 하나씩 버퍼에 들어간다.
  • 개행 문자는 입력의 종료로 간주한다.
  • 무엇을 입력하든 문자열로 변환하고 줄 바꿈을 제거한 뒤 값을 반환한다.

 

 

 

sys.stdin.readline()

  • input()과 달리 문자를 화면에 출력하는 기능이 없다.
  • 한 번에 읽을 수 있는 글자 수 크기에 대한 매개변수를 제공한다.
  • 한 번에 읽어와 버퍼에 저장한다. 따라서 하나 씩 누를 때마다 데이터를 버퍼에 저장하는 input() 보다 빠르며 입력이 많아질수록 차이가 더욱 커진다.

 

 

 

결론

input()은 문자열 변환, 줄 바꿈 제거 등 추가적인 과정이 있고, 데이터가 하나 씩 버퍼에 들어가는 반면 sys.stdin.readline()은 문자열로 변환, 줄 바꿈 과정이 없으며 데이터가 한 번에 버퍼에 들어가므로 sys.stdin.readline()이 input() 보다 빠르다.

 

 

 

 

 


https://www.geeksforgeeks.org/difference-between-input-and-sys-stdin-readline/

 

Difference between input() and sys.stdin.readline() - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

https://green-leaves-tree.tistory.com/12

 

[Python] input보다 sys.stdin.readline의 처리 속도가 빠른 이유는?

백준의 문제를 Python으로 풀다보면 input() 함수를 사용하는 것보다 sys.stdin.readline()으로 입력을 받으면 처리 시간이 짧아지는 것을 경험하는데요. 그 이유에 대해 생각해보고자 합니다. 먼저 sys 모

green-leaves-tree.tistory.com

 

'파이썬' 카테고리의 다른 글

파이썬 - 순열, 조합  (2) 2023.04.19
파이썬 list(), split()  (0) 2022.07.01
파이썬 내장 함수 - map, zip  (0) 2022.06.30
파이썬 for 문  (0) 2022.06.30
python 문자열 replace()  (0) 2022.06.22