표준 입출력은 파이썬에서 가장 기본적인 입력과 출력을 의미합니다. 표준 입력의 경우, 키보드로 이루어지고 표준 출력의 경우에는 모니터로 이루어지죠. 사실 우리는 표준 출력을 이미 다뤘었습니다. 출력과 주석에서 print() 함수로 화면에 결과를 출력했었죠. 이 print() 함수가 바로 표준 출력에 해당합니다. 이번 시간엔 표준 입력 함수인 input()과 표준 출력 함수인 print()에 대해 자세히 알아보겠습니다.
input() 함수는 키보드를 통해서 사용자의 입력을 받는 함수로, 엔터 키를 누르기 전까지 받은 입력을 문자열로 반환합니다.
input() 함수는 괄호 안에 입력 받을 때 설명을 적을 수 있습니다. 바로 실행시킨다면 사용자가 무엇을 입력하는지, 입력창이 뜬 지도 잘 모를테니까요.
answer = input("아무거나 입력하세요")
print(type(answer)) # input 함수는 문자열을 반환하는 걸 알 수 있습니다.
# 결과
# <class 'str'>
위의 코드와 같이 input() 함수는 문자열을 반환합니다. 때문에 사용자로부터 숫자를 입력받아 연산하고 싶은 경우에는 형을 변환해 줄 필요가 있습니다.
def mul_ten():
n = int(input("숫자를 입력하세요"))
return n * 10
mul_ten() # 입력받은 값에 10을 곱한 값이 출력됩니다.
print() 함수는 모니터에 결과를 출력하게 해주는 함수입니다. print() 함수는 전에 배운 문자열 포매팅과 같이 쓰이거나 print() 함수 내 매개변수들을 설정하여 여러 활용이 가능합니다. 대표적으로 쓰이는 print() 함수의 매개변수는 다음과 같습니다.
매개변수 | 의미 |
---|---|
end | 출력과 출력 사이에 들어가는 값입니다. (기본값은 \n) |
sep | print() 내 출력들 사이의 구분자입니다. (기본값은 ' ') |
year = 2000
month = 7
day = 23
print(year, month, day, sep='-') # 구분자를 '-'로 설정
# 결과
# 2000-7-23
sep은 컴마(,
)로 연결된 요소들을 구분하는 구분자임을 확인할 수 있습니다.
sep의 기본값은 ' '
이기에, 우리가 sep을 설정하지 않고 컴마로 여러 값들을 출력할 때 한 칸씩 띄어진 상태로 출력이 됐었습니다.
n1 = 10
n2 = 12
print(f"{n1}월 생인 사람 손들어라!", end=' ')
print(f"{n2}월 생인 사람 손들어라!")
# 결과
# 10월 생인 사람 손들어라! 12월 생인 사람 손들어라!
한편, end는 print() 함수 사이에 들어갈 문자열임을 확인할 수 있습니다. end의 기본값은 엔터(\n
)였기 때문에 print() 함수를 쓸 때마다 자동으로 개행이 됐던 것입니다.