본문 바로가기
Python

[Python] 입력함수

by doongjun 2021. 2. 3.

파이썬의 다양한 입력함수에 대해 알아보려 합니다.

 

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

댓글