Welcome to the Matrix

012. 파이썬 화면 출력을 위한 print() 함수 사용 방법 본문

Python/PythonBasic

012. 파이썬 화면 출력을 위한 print() 함수 사용 방법

haru.keiko 2020. 12. 28. 07:38

파이썬 print 함수 썸네일

이번에는 파이썬 화면에 정보를 출력하기 위한 'print()'함수에 대해 좀 더 알아보겠습니다. 

 

전통적으로 프로그래밍 언어는 '데이터'를 화면에 출력해서 정보를 보여줍니다. 이때 데이터가 출력되는 화면을 '표준 출력(Standard Output - stdout)'이라고 하고, 표준 출력은 우리가 알고 있는 윈도우의 '명령 프롬프트(cmd)' 또는 리눅스의 '쉘(Shell)'과 같은 '콘솔(Console)'입니다.

 

사실 화면에 어떤 것을 출력한다는 것 자체는 엄청나게 복잡한 작업입니다. 하지만, 각 프로그래밍 언어에서는 복잡한 것들은 내부적으로 처리합니다. 프로그래머는 각 프로그래밍 언어가 제공하는 출력 함수와 같은 것을 사용해 간단히 원하는 데이터를 화면에 출력할 수 있습니다.

 

파이썬은 표준 출력을 위한 함수로 'print()'라는 함수를 제공합니다.

우리는 이미 print()라는 함수를 사용한 적이 있는데요, 사용법을 모르고도 사용할 수 있을 정도로 간단합니다. 단지 print의 괄호 안에 출력하려는 데이터를 넣었을 뿐이죠.

하지만, 단순한 숫자나 문자열만을 출력할 것이 아니라면, 'print()' 함수의 사용법을 제대로 알고 있어야 합니다.

 

파이썬 print() 함수

먼저 print() 함수가 어떻게 생겨 먹은 함수인지 간단하게 살펴보겠습니다.

IDLE를 열과 아래와 같이 입력해 보세요.

help(print)

파이썬 인터프리터는 help()라는 함수를 사용해서 괄호 안에 있는 함수에 대한 사용법을 알려줍니다. 

파이썬 print 함수 도움말 정보

 

이게 뭔지 잘 모르겠죠.. ^^

아직 우리는 함수라는 것에 대해 모르니 자세한 것은 몰라도 상관없습니다. 

"print(values, ..., sep=' ', end='\n', file=sys.stdout, flush=False)"라고 된 부분이 바로 print 함수의 문법입니다. 

  • values : 화면에 출력할 데이터, 여러 개가 될 수 있다.
  • sep : 화면에 출력할 데이터가 여러 개일 경우, 구분을 기본적으로 공백(' ')으로 한다.
  • end : 데이터를 모두 화면에 출력하고, 마지막엔 줄 바꿈 문자('\n')를 넣는다.
  • file : 데이터를 출력 때, 화면이 아닌 파일(file)과 같은 다른 곳을 지정할 수 있다.
  • flush : 스트림을 강제로 flush 할지를 결정한다. 

이 중, 현재 꼭 알아야 하는 것은 'values'에 대한 것이고, 알면 좋은 것은 'sep''end'입니다.

'file''flush'는 지금은 몰라도 됩니다. 이 부분에 대해서는 나중에 파일에 대해 알고 난 후 봐도 늦지 않습니다.

너무 복잡하게 생각하지 않아도 됩니다. ^^

 

여러 데이터를 출력

지금까지는 우리는 print() 함수를 사용해 아래와 같이 단 하나의 데이터만을 출력했었습니다. 

print(123)
print('안녕')

print 함수를 이용한 숫자와 문자열 출력 예제

 

그런데, print 함수의 문법을 보면 values, ..., 라고 되어 있습니다. '...' 라는 부분은 여러 개의 값을 가질 수 있다는 말입니다. 여러 개의 데이터를 출력해보도록 하겠습니다. 

print('hello', 'everyone')
print(123, 'one', 'two', 'three')

파이썬 print 함수에서 여러 데이터를 콤마를 이용해서 출력하는 예제

 

이런.. 출력하고 싶은 데이터가 여러 개일 경우, 각 데이터를 콤마(,)로 구분해서 여러 개를 출력할 수 있었군요.. 

네~ 그렇습니다.

데이터의 자료형에 상관없이 여러 개의 데이터를 콤마로 구분해서 출력할 수 있습니다~!!

파이썬의 print()는 데이터의 자료형에 상관없이 여러 개의 데이터를 콤마로 구분해서 출력합니다.

 

데이터 구분자 변경(sep)

앞서 여러개의 데이터를 출력해보았습니다. 

결과로 여러개의 구분자가 공백(' ')으로 구분된 것을 확인할 수 있었는데, 이 구분자를 변경할 수 있는 것이 'sep'입니다.

예를 통해 확인하도록 하겠습니다. 

print('one', 'two', 'three')
print('one', 'two', 'three', sep=',')

파이썬 print 함수에서 sep의 인자를 변경해서 함수 내 데이터를 구분하는 구분자를 설정할 수 있다.

 

화면에 출력하려는 데이터의 마지막에 sep=', '을 추가했습니다. 

의미는 출력 결과를 통해 유추할 수 있듯, 각 출력 데이터를 구분하기 위해서 콤마(,)를 사용하겠다는 말입니다. 

경우에 따라 출력내용을 원하는 대로 형식으로 출력하기 위해 'sep'을 이용해서 구분자를 정할 수 있습니다. 

파이썬의 print()는 출력되는 데이터를 구분하기 위해 구분자를 변경할 수 있습니다. 

 

줄 바꿈 문자 변경(end)

print() 함수는 기본적으로 괄호 안에 입력한 데이터를 모두 출력한 후 줄 바꿈 문자(\n)를 추가로 입력합니다. IDLE 쉘에서는 확인할 수 없지만, IDLE에서 소스코드를 파일로 저장을 하면 이를 확인할 수 있습니다.

print() 함수에 end라는 값을 주어 줄 바꿈 문자(\n)를 다른 문자로 교체할 수 있습니다. 

다음 예를 통해 확인할 수 있습니다. 

print('hello')
print('world')
print('hello', end'!!!')
print('world')

위 소스 코드를 IDLE 쉘의 메뉴에서 'File' - 'New File'을 선택해 새 창을 연 후, 소스 코드를 작성하고 저장합니다. 

IDLE에디터에서 end 인자를 변경해 print 함수의 마지막 end 문자를 다른문자로 교환할 수 있다.

 

위 창의 메뉴에서 'Run' - 'Run Module'을 선택하면, 아래와 같이 파이썬 프로그램이 실행됩니다. 

print 함수에서 end 인자를 바꾸는 예제의 결과 화면

 

화면에 출력된 위 두 문장은 print() 함수의 기본 end 설정인 end='\n'를 사용했습니다. 

그리고 마지막 출력 결과는 print() 함수의 end 설정을 end='!!!'로 변경한 것입니다. 

필요에 따라 여러 개의 print() 문의 출력 데이터를 한 줄이나 또는 특정 문자로 구분 지어 출력할 필요가 있을 때 유용하게 사용될 수 있을 것 같습니다. 

파이썬의 print()는 기본적으로 사용되는 줄 바꿈 문자를 다른 문자로 변경할 수 있습니다.

 

변수를 이용한 출력

지금까지는 print() 함수를 사용하면서 자료형의 값을 데이터로 사용했습니다. 

하지만, 앞으로는 대부분의 경우에 변수를 사용할 것입니다. print() 함수의 데이터 값으로 변수를 사용할 수 있습니다. 

다음 예를 보면서 확인합시다. 

a = 123
b = 'hello'
print(a, b)
print(a, 456, b, 'world')

파이썬에서 변수를 이용해 print 함수를 사용하는 예제.

예에서 확인할 수 있는 것처럼, 변수와 데이터를 함께 사용할 수 있습니다.