파이썬의 다양한 입력함수에 대해 알아보려 합니다.
1. input()
이 함수는 기본적으로 문자열을 입력 받습니다.
x = input()
print(x)
print(type(x))
12
12
<class 'str'>
int나 float형으로 받고 싶다면?
x = int(input())
y = float(input())
print(x, "Type :", type(x))
print(y, "Type :", type(y))
12
12.34
12 Type : <class 'int'>
12.34 Type : <class 'float'>
위와 같이 사용하면 됩니다.
map 함수를 사용해서 한줄에 두개를 동시에 입력받는 방법도 있습니다.
x, y = map(int, input().split())
print(x, "Type :", type(x))
print(y, "Type :", type(y))
12 34
12 Type : <class 'int'>
34 Type : <class 'int'>
.split()의 괄호 안에 각각 구분할 수 있는 기호를 넣어 사용할 수도 있습니다.
2. sys.stdin.readline()
이 함수는 input()과 다르게 기본 내장함수가 아니라 sys를 임포트해줘야 사용할 수 있습니다.
또 input()보다 빠르다는 장점이 있습니다.
import sys
num = sys.stdin.readline()
print(num)
123 456 789
123 456 789
기본적으로 sys.stdin.readline()함수에는 개행 문자 '/n'이 포함되어 있는데 list를 사용하여 확인해보겠습니다.
import sys
num = sys.stdin.readline()
print(num)
print(list(num))
123 456 789
123 456 789
['1', '2', '3', ' ', '4', '5', '6', ' ', '7', '8', '9', '\n']
추가적으로, 여기에 몇 가지 옵션을 설명하면,
strip()
: 왼쪽, 오른쪽 공백을 삭제
rstrip()
: 오른쪽 공백을 삭제
lstrip()
: 왼쪽 공백을 삭제
import sys
num = sys.stdin.readline().strip()
rnum = sys.stdin.readline().rstrip()
lnum = sys.stdin.readline().lstrip()
print("strip 사용 :", list(num))
print("rstrip 사용 :", list(rnum))
print("lstrip 사용 :", list(lnum))
123 456 789
123 456 789
123 456 789
strip 사용 : ['1', '2', '3', ' ', '4', '5', '6', ' ', '7', '8', '9']
rstrip 사용 : [' ', ' ', '1', '2', '3', ' ', '4', '5', '6', ' ', '7', '8', '9']
lstrip 사용 : ['1', '2', '3', ' ', '4', '5', '6', ' ', '7', '8', '9', ' ', ' ', '\n']
모두 동일하게 VV123V456V789VV 입력 했을때의 결과입니다.
'Python' 카테고리의 다른 글
[Python] count() 함수 (0) | 2021.02.07 |
---|---|
[Python] 별찍기로 확인해보는 파이썬의 장점 (2) | 2021.02.03 |
[Python] 입력함수 응용문제 (0) | 2021.02.03 |
댓글