Python

파이썬의 입력과 출력

gudwns5533 2026. 5. 22. 16:35
input 함수

 

input 함수는 사용자(개발자)로부터 키보드 입력을 받는데 사용되는 내장 함수.

프로그램 실행 중에 사용자가 값을 입력하면, 입력한 값이 문자열로 반환되어 변수에 저장하거나 처리할 수 있음.

input()
name = input('이름을 입력하세요')
print(f'{name}님 안녕하세요!)

# 실행 시 '이름을 입력하세요'가 터미널 창에서 출력되고 이름을 입력시 {name}님 안녕하세요! 가 출력
name, age, weight = input('이름, 나이, 몸무게를 차례대로 입력하세요').split(' ')
print(name)
print(age)
print(weight)

# 한줄로도 입력을 받을 수 있고, 정보 입력 시 각각의 변수가 출력됨.
num1 = input('첫번째 숫자를 입력하세요')
num2 = input('두번째 숫자를 입력하세요')
print('결과: ', num1 + num2)              # 105
# input은 문자열로 반환되기 때문에 105라는 결과값 출력

num1 = input('첫번째 숫자를 입력하세요')  # int(input('첫번째 숫자를 입력하세요'))와 같음
num2 = input('두번째 숫자를 입력하세요')
print('결과: ', int(num1) + int(num2))    # 15
# 덧셈을 위해 정수형으로 변환 후 진행
print 함수

 

print 함수는 콘솔에 출력을 표시하는 가장 기본적인 함수.

프로그램 실행 중 생성된 값을 사용자에게 보여주거나 디버깅할 때 매우 유용.

(function) def print(
    *values: object,
    sep: str | None = " ",
    end: str | None = "\n",
    file: SupportsWrite[str] | None = None,
    flush: Literal[False] = False
    ) -> None

 

1. *values: object (출력할 값들)

  • 역할 : 출력하고 싶은 내용물.
  • 특징: 앞에 붙은( * )는 가변 인자(Arbitrary Arguments)를 뜻함. 즉, 개수 제한 없이 콤마 ( , )로 구분해서 값을 몇 개든 넘길 수 있음. object 타입이기 때문에 숫자, 문자, 리스트 등 파이썬의 어떤 객체든 다 들어올 수 있음.
print("안녕", 123, True)   # 3개의 값을 동시에 출력

 

2. sep : str | None = " " (구분자)

  • 역할 : *values로 전달된 값과 값 사이에 무엇을 집어넣을지 결정. 기본값(Default)은 공백 한 칸( " " )
  • 활용 : 값 사이를 콤마나 줄바꿈으로 변경하고 싶을 때 유용.
print("apple", "banana", "cherry", sep=", ")
# 출력 : apple, banana, cherry

print("010", "1234", "5678", sep="-")
# 출력 : 010-1234-5678

 

3. end : str | None = "\n" (끝 문자)

  • 역할 : 모든 값을 다 출력한 후 맨 마지막에 무엇을 붙이고 마칠지 결정함. 기본값은 줄바꿈 문자( \n ). print()를 쓸 때마다 자동으로 다음 줄로 넘어갔던 이유.
  • 활용 : 줄바꿈을 하지 않고 다음 print() 문을 옆으로 이어 붙이고 싶을 때 빈 문자열 ( "" )을 줌.
print("안녕", end=" ")
print("하세요")
# 출력 : 안녕하세요 (한 줄에 출력됨)

 

4. file : SupportsWrite[str] | None = None (출력 대상)

  • 역할 : 값을 어디로 보낼지(출력할지) 지정. 기본값은 None 인데, 이 경우 우리 눈에 보이는 표준 출력(콘솔창/모니터)으로 보냄.
  • 활용 : 화면이 아니라 텍스트 파일에 직접 글자를 쓰고 싶을 때 파일 객체를 넘겨줄 수 있음.
with open("text.txt", "w") as f:
    print("파일에 저장됩니다.", file=f)
# 콘솔에는 아무것도 안 나오고, test.txt 파일 안에 글이 작성됨

 

5. flush : Literal[False] = False (버퍼 비우기 여부)

  • 역할 : 출력할 데이터를 버퍼(임시 메모리)에 쌓아두지 않고 즉시 출력 장치로 밀어낼지 여부를 결정. 기본값은 False(즉시 밀어내지 않음)
  • 배경 지식 : 컴퓨터는 효율성을 위해 글자가 생길 때마다 화면에 그리는 게 아니라, 버퍼에 어느정도 모았다가 한 번에 출력함.
  • 활용 : flush=True 로 설정하면 버퍼가 차는 것을 기다리지 않고 강제로 즉시 화면에 출력함.
이스케이프 문자

 

문자열 내에서 특수한 기능을 수행하도록 하는 문자. 백슬래시 ( \ )로 시작하며, 그 뒤에 이어지는 문자가 특정한 기능을 수행함.

  1. \n : 줄바꿈
  2. \t : 탭
  3. \\ : 백슬래시 자체. 디렉토리 주소에 많이 사용.
  4. " 또는 ' : 큰따옴표나 작은따옴표를 나타냄. 문자열을 감싸는 따옴표와 구분하기 위해 사용. 파이썬은 ",' 모두 사용이 가능하므로 겹치지 않도록 사용하면 됨.
  5. \r : 캐리지 리턴. 문자열을 출력한 후 커서를 줄의 처음으로 이동.
  6. \b : 백스페이스. 문자열 내에서 한 글자를 삭제.
출력서식 지정

 

1. % 서식 지정자

  • %s : 문자열
  • %d : 정수
  • %f : 실수
  • %x : 16진수
num = 255
pi = 3.141592
name = '김사과'

print('문자열 출력: %s' % name)                           # &S
print('정수 출력: %d' % num)                              # %d
print('실수 출력: %f' % pi)                               # %f
print('소수점 자리 지정: %.2f' % pi)                      # %.mf
print('16진수 출력: %x' % num)                            # %x
print('0 채움 정수: %05d' % 42)                           # 0n
print('여러 값 출력: %s %d %.2f' % (name, num, pi))       # 여러 값

'''
문자열 출력: 김사과
정수 출력: 255
실수 출력: 3.141592
소수점 자리 지정: 3.14
16진수 출력: ff
0 채움 정수: 00042
여러 값 출력 : 김사과 255 3.14
'''

 

2. str.format() 메서드

  • { } : 중괄호 안에 변수나 표현식을 넣어 값을 출력.
  • {:d} : 정수를 출력
  • {:f} : 부동 소수점 숫자를 출력
  • {:s} : 문자열을 출력
  • {:x} : 정수를 16진수로 출력
  • {:0n} : n 자리의 정수를 0으로 채워서 출력
  • {:n.mf} : 전체 길이 n과 소수점 이하 자리수 m을 지정하여 부동 소수점 숫자를 출력.
num = 255
pi = 3.141592
name = "김사과"

print("기본 출력: {}".format(name))               # {}
print("정수 출력: {:d}".format(num))              # {:d}
print("실수 출력: {:f}".format(pi))               # {:f}
print("문자열 출력: {:s}".format(name))           # {:s}
print("16진수 출력: {:x}".format(num))            # {:x}
print("0 채움 정수: {:05d}".format(42))           # {:0n}
print("소수점 자리 지정: {:.2f}".format(pi))      # {:.mf}
print("전체 길이 + 소수점: {:10.2f}".format(pi))  # {:n.mf}

'''
기본 출력: 김사과
정수 출력: 255
실수 출력: 3.141592
문자열 출력: 김사과
16진수 출력: ff
0 채움 정수: 00042
소수점 자리 지정: 3.14
전체 길이 + 소수점:       3.14
'''

 

3. f-string

 

f-string은 가장 직관적이고 간편한 방식. 문자열 앞에 f를 붙이고 중괄호 { }안에 변수를 넣어 사용.

 

name = '김사과'
age = 20

print(f'이름은 {name}이고 나이는 {age}입니다.')
# 이름은 김사과이고 나이는 20입니다.


a = 10
b = 20
pi = 3.141592

print(f'{a} + {b} = {a + b}')  # 10 + 20 = 30
print(f'{pi}를 소수 둘째자리까지 표현 {pi:.2f}')  # 3.141592를 소수 둘째자리까지 표현 3.14
name = 김사과

print('기본 출력: ' + name)
print('기본 출력: {}'.format(name))
print(f'기본 출력: {name}')

# 세가지 모두 기본 출력: 김사과 라는 값이 출력되지만 f-string이 가장 간편함.

'Python' 카테고리의 다른 글

리스트의 함수와 메서드  (0) 2026.05.22
컬렉션 타입 (리스트)  (0) 2026.05.22
연산자  (0) 2026.05.22
파이썬 변수, 문자열 다루기  (0) 2026.05.21
Python 시작과 개발환경 구축, 하드웨어와 메모리  (0) 2026.05.20