관리 메뉴

개발이야기

[ Python Skill] - Python Input / Output 함수 알아보기 본문

Python /Python Skill

[ Python Skill] - Python Input / Output 함수 알아보기

안성주지몬 2019. 11. 11. 00:00

파이썬엔 여러 입/출력 관련 함수가 있습니다. 

가장 대표적인게 input, print와 같은 함수죠. 각 함수는 유용한 옵션과 사용법이 있습니다.

이번 포스팅에서는 이들에 대해 알아보겠습니다.

 

 

Input Function

 

- input

가장 기본적인 파이썬 입력함수이다. 

 

case 1) 기본 입력

입력받은 값은 'str' 형으로 저장된다.

# input ex1 
n = input() # 입력받은 값을 n에 저장한다.

 

case 2) int 형변환

만약 int 형으로 저장할려면 아래와 같이 해주면 된다.

n = int(input())

 

case 3) 공백 구분

1 2 3 4 5 처럼 공백으로 값이 구별되는 경우는 split 함수를 사용해주면 된다.

n = input().split(' ')

 

case 4) int 형변환 + 공백 구분

하지만 위 방식을 사용하면 원소가 문자형으로 들어간다. 정수형으로 원소를 넣기 위해선 map을 사용해주면 된다.

n = list(map(int, input().split(' ')))

 

case 5) sys.stdin.readline 

input의 단점은 시간이 많이 걸린다는 점이다.

알고리즘 문제를 풀때 input을 사용하면 안그래도 오래걸리는 파이썬이 더 오래걸릴 수 있다. 이로 인해 시간초과로 문제를 틀리는 경우가 빈번하다. 이런경우는 sys.stdin.readline을 사용하면 Input 보다 더 빠른 시간내에 로직을 수행할 수 있다.

 

import sys
n = map(int, sys.stdin.readline())

 

Output Function

 

- print

출력함수에 대표적인 함수는 print이다. print는 포맷팅, 옵션등을 통해 다양하게 사용할 수 있다.

 

case 1) 기본 출력

print('Hello World')

 

case 2) 변수 출력

변수를 출력하는 방법 중 하나는 %를 사용하는 방법이다.

num = 5
float_num = 2.12345
my_str = 'abcd'

print('num: %d' % num + ', float_num: %.2f' % float_num + ', str: %s' % my_str) # .2f 는 소수점 두 자리까지 출력을 의미

 

case 3) format 함수 사용 

+ 를 사용하지 않고 하나의 쿼트 내에서 문장을 완성하기엔 format 이 적절하다.

num = 5
float_num = 2.12345
my_str = 'abcd'

print('num: {}, float: {:.2f}, str: {}'.format(num, float_num, my_str))

결과는 case 2와 동일하다. 

 

case 4) f, F 사용

format보다 더 간단한 방법이 있고 가장 용이한 방법은 소문자 f 혹은 대문자 F를 문자열 앞에 붙이는 방법이다.

num = 5
float_num = 2.12345
my_str = 'abcd'

print(f'num: {num}, float: {float_num:.2f}, str: {my_str}')

따로 문자열 뒤에 .format(변수들)을 붙이지 않고 바로바로 변수를 사용할 수 있다는 점에서 상당히 유용하게 사용된다.

 

 

참고

Input Function

[1] https://withcoding.com/65

[2] https://www.acmicpc.net/board/view/855

 

Output Function

[1] https://docs.python.org/ko/3/tutorial/inputoutput.html

[2] https://wikidocs.net/9966

 

Comments