파이썬에서 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/
https://green-leaves-tree.tistory.com/12
'파이썬' 카테고리의 다른 글
파이썬 - 순열, 조합 (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 |