개발부터 자유까지
[Python] input vs sys.stdin.readline 본문
파이썬 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
'Python' 카테고리의 다른 글
[Python] 유니코드, 내장함수 ord, chr (0) | 2025.04.10 |
---|---|
[Python] json.dumps vs json.dump (1) | 2024.06.11 |
[Python] os.walk VS os.listdir 차이점 알아보기 (0) | 2024.01.24 |
[Python] websockets 웹소켓 모듈 (0) | 2024.01.18 |
[Python] 문자열 포맷팅 3가지 방식 (0) | 2024.01.16 |