Study/파이썬[Python]

파이썬[Python] | 데이터 입출력 방법

jaeyeong 2023. 5. 31. 15:43

입력

첫 번째 방법: input()

파이썬에서 데이터를 입력받기 위해서는 input()을 사용하면 된다.

 

알고리즘 문제를 풀 때 공백으로 구분되는 정수형 데이터를 입력받는 일이 많고,

이 입력된 데이터를 가공하여 문제를 풀게 된다.

이 경우엔 문자열을 띄어쓰기로 구분하여 각각 정수형으로 저장하는 코드를 자주 사용한다고 한다.

 

  1. input().split(): 공백으로 구분된 입력받은 데이터를 나누어 문자열 자료형 리스트로 변환한다.
  2. map(int, input().split()): 문자열로 저장되어 있는 리스트를 모두 정수형 데이터로 바꾸어준다. map 객체가 반환된다.
  3. list(map(int, input().split())): 반환된 map 객체를 다시 리스트로 변환한다.
# input값이 1 2 3 일 때
a = input().split() #['1', '2', '3']
b = map(int, input().split()) #<map object at 0x7f79f7b76ec0>
c = list(map(int, input().split())) #[1, 2, 3]

굳이 리스트가 필요하지 않다면 b까지 진행하고, 구조 분해 할당으로 변수를 초기화하면 된다.

# input값이 1 2 3 일 때
n, m, k = map(int, input().split())

print(n) #1
print(m) #2
print(k) #3

(자바스크립트에선 이런걸 구조 분해 할당이라고 하는데,, 파이썬은 다른 용어가 있나?!)

 

두 번째 방법: sys 라이브러리

입력의 개수가 많아지면 sys 라이브러리를 사용한다.

import sys

data = sys.readline().rstrip()

이때 rstrip() 없이 사용하면 엔터가 줄 바꿈 기호로 입력되기 때문에

이 기호를 제거하기 위해선 꼭 붙여줘야 한다.


출력

출력은 print()를 사용하면 된다.

사용 방법을 잘 알고 있으니 생략.. 하려고 했는데!

f-string 문법이란 게 있어서 마지막으로 간단히 정리하고 끝내려고 한다.

name = '철수'
print(f"제 이름은 {name}입니다.") #제 이름은 철수입니다.

따옴표로 감싸진 문자열앞에 f를 붙이고 사용할 변수는 중괄호로 감싸주면 된다.

 

자바스크립트의 템플릿 리터럴(Template Literals)과 사용법이 비슷하다.

대신 직접 사용해보니 자바스크립트는 백틱(`)을 사용하며 f대신 $기호를 사용하고,

파이썬은 백틱이 아닌 작은따옴표 또는 큰 따옴표를 사용한다는 점에 차이가 있었다!