Programming Language/Python

[Python] 입력 받기

Ma_Sand 2024. 5. 5. 03:33
반응형

Python에서는 입력받는 방법이 다음과 같다.

 

1. input()

x = input()
print(x)

사진의 윗부분에서 검정 글씨가 입력받은 값이고, 파란 글씨가 print(x)로 출력된 값이다.

이때, input()에 int()로 감싼 이유는 정수를 받기 위해서이다.

 

2. sys.stdin.readline()

sys.stdin.readline()을 사용할 때는 sys를 import해야 한다.

import sys

x = int(sys.stdin.readline())
print(x)

 

input()에 split()을 사용하여 한번에 여러 값을 입력받을 수 있는데, sys.stdin.readline()도 input()과 동일하게 split()을 사용할 수 있다.

1 2 3 4가 input()으로 입력받은 것이고, 6 7 8 9가 sys.stdin.readline()으로 입력받은 것이다.

여러 입력값을 한번에 받으려면 map(자료형, 입력함수.split())을 사용하면 되며, split()만 사용하면 공백을 구분자로 하여 입력을 받는 것이고, split(",")을 사용하면 콤마(,)를 구분자로 하여 입력받는 것이다.

 

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

 둘의 차이점은 입력을 효율적으로 처리하는 데에 있다. input()보다 sys.stdin.readline()이 입력을 더 효율적으로 처리한다. sys.stdin.readline()은 내부적으로 더 낮은 수준의 입출력 메커니즘을 사용하여 한번에 여러 줄을 읽거나 대용량 데이터의 입력을 처리할 때 효율적이다. 이때, 프로그램의 실행 속도를 크게 향상시킬 수 있다.

 그러나 적은 데이터의 입력을 처리할 때에는 input()을 많이 사용한다. 그 이유는 input()이 보다 사용하기 간편하며, 가독성이 높기 때문이다. 또한 파일 입력 또는 대화형 입력과 같은 다양한 입력 소스에서 모두 사용할 수 있어 이식성이 높다.

 

=> input()은 입력 처리의 편의와 가독성을 우선시하는 경우에 사용한다.

=> sys.stdin.readline()은 대용량 데이터의 입력을 처리하거나 성능 최적화가 필요한 경우에 사용한다.

반응형