티스토리 뷰

파이썬(Python)으로 모니터 화면에 결과물을 출력하기 위해서는 print()함수를 사용해야 합니다. 파이썬 GUI 그래픽 프로그래밍이 아닐 경우 print() 출력은 기본이며 디버깅을 위한 오류 출력에도 자주 사용되는 것이니 이번 기회에 한번 정리해봅니다. 


입력

print('Hello Python!')

print("Nice to meet you.")

print('Hello "Python"')

print("Hello 'Python'")

print('Hello', 'Python!')

print('Hello' + 'Python!')

출력

Hello Python!

Nice to meet you.

Hello "Python"

Hello 'Python'

Hello Python!

HelloPython! (공백이 없음)

정리

print함수로 출력할 문장(문자열)은 ‘ ’ 또는 “ ” 로 감싸야 한다.

문자열 속에 ' 기호가 있는 경우에는 “ ”로

“ 기호가 있는 경우에는 ‘ ’를 사용하면 편리하게 출력할 수 있다.

콤마(,)로 문자열을 나열할 경우 공백(기본값)이 자동으로 추가 된다.

더하기(+) 기호로 문자열을 공백없이 연결할 수 있다.


입력

print('I like Python. \

But I do not like Ruby.')

print("""I like Python.

But I don't like C.""")

print('''I like Python.

But I don't like C.''')

출력

I like Python. But I do not like Ruby. (개행 없이 연결됨)

I like Python.

But I don't like C.

I like Python.

But I don't like C.

정리

긴 문자열은 \ 기호로 사용하여 여러 줄에 작성할 수 있다.

개행(줄바꿈), 공백, 특수기호(이스케이프 문자)를 포함하여 입력한 그대로 화면에 출력하기 위해서는 ‘’‘ ’‘’ 또는 “”“ ”“” 기호를 사용하면 된다.


입력

print('Hello', end=' ') 

print('Python')

print('Hello', end='&&&')

print('Python')

print('Hello', 'Python', sep='#')

f = open('dump.txt', 'w')

print('Hello Python', file=f)

f.close()

import sys

print('Hello Python', file=sys.stderr)

출력

Hello Python

Hello&&&Python

Hello#Python

(dump.txt 파일에 문자열이 저장됨)

Hello Python

정리

end 인자를 사용하면 print함수 마지막 효과를 변경할 수 있다. (기본값은 개행)

sep 인자를 사용하면 콤마로 구분된 문자열을 다르게 결합할 수 있다. (기본값은 공백)

file 인자를 사용하면 출력 결과를 파일, 표준에러처리로 보낼 수 있다.


입력

print('My mother\'s house')

print('\', \", \\, \a, \t, \n')

출력

My mother's house

', ", \, ,

정리

이스케이프 문자(Escape character)는 \문자를 사용하여 출력한다. 

(\n 공백, \t 탭키, \\ \, \‘, \“ 등)


입력

i = 123

f = 3.14

s = 'Hello'

print('i: %d, f: %f, s: %s' % (i, f, s))

print('i: %9d, f: %5.2f, s: %7s' % (i, f, s))

print('i: %09d, f: %05.2f, s: %7s' % (i, f, s))

print('i: {}, f: {}, s: {}'.format(i, f, s))

print('f: {1}, i: {0}, s: {2}'.format(i, f, s))

print('f: {ff}, i: {ii}, s: {ss}'.format(ii=i, ff=f, ss=s))

a = 'apple'

b = 'banana'

print('a is {0[a]}, b is {0[b]}'.format(locals()))

print('a is {a}, b is {b}'.format(**locals()))

출력

i: 123, f: 3.140000, s: Hello

i:       123, f:  3.14, s:   Hello

i: 000000123, f: 03.14, s:   Hello

i: 123, f: 3.14, s: Hello

f: 3.14, i: 123, s: Hello

f: 3.14, i: 123, s: Hello

a is apple, b is banana

a is apple, b is banana

정리

% 기호를 활용하여 변수값을 출력할 수 있다. (오래된 방식)

(%d 정수, %f 실수, %s 문자열)

%5.2f처럼 출력하는 모양을 지정할 수 있다. (총 자릿수 5, 소수점 2자리까지)

format 함수를 사용하면 좀 더 다양항 방식으로 출력을 할 수 있다.

(format 함수에 대한 내용은 워낙 방대하여 나중에 따로 글을 쓰겠습니다. 지금은 예문으로만 감상해주세요. 설명하자면 긴데 사실 format함수도 쓰는 기능만 주로 쓰기 때문에 꼭 모든 것을 알아야할 필요는 없습니다.)


입력

print('Hello Python!'.center(20))

print('Hello Python!'.rjust(20))

print('Hello Python!'.ljust(20))

print('Hello Python!'.zfill(20))

print('hello python!'.capitalize())

print('hello python!'.upper())

출력

   Hello Python!    

       Hello Python!

Hello Python!       

0000000Hello Python! (앞쪽 여백을 0으로 채움)

Hello python! (첫글자만 대문자로)

HELLO PYTHON! (대문자로 변경)

정리

문자열 객체의 다양한 메소드(함수)를 활용하여 출력 모양을 변경할 수 있다.

(메소드 이름만으로도 동작을 짐작할 수 있기에 자세한 설명은 생략)


입력

print(123); print(3.14)

print(True)

print("3 * 2 = ", 3 * 2)

print(list(range(1, 10)))

출력

123

3.14

True

3 * 2 =  6

[1, 2, 3, 4, 5, 6, 7, 8, 9]

정리

정수, 실수, 불 자료형을 문자열로 변경할 필요없이 바로 출력할 수 있다.

(명시적으로 변경하기 위해서는 str()함수를 사용하면 됨)

수식과 리스트 같은 복잡한 내용도 쉽게 출력할 수 있다.


입력 화면

파이썬 print 함수 사용법 정리


결과 화면

파이썬 print 함수 사용법 정리




댓글
  • 프로필사진 kjh 감사합니다.
    돌아다닌 사이트중에 가장 요점만, 궁금한 부분을 정확하고 빠르게 설명해주시네요
    여기서 공부하렵니다
    2017.03.11 14:15
  • 프로필사진 빌노트 글을 적게 쓰려고 노력한 효과가 있네요.
    파이썬 글을 계속 쓰고 있는데 힘이 납니다^^
    열심히 하겠습니다!
    2017.03.11 18:05 신고
  • 프로필사진 good 와 정리 잘 돼있네요 ㄷㄷㄷ 잘보고갑니다 2018.02.12 18:30
  • 프로필사진 빌노트 정리한 보람이 있네요 ㅎㅎ 2018.02.12 21:56 신고
  • 프로필사진 이승여 좋은 정보 감사하니다. 2018.11.27 00:42
  • 프로필사진 빌노트 감사합니다^^ 2018.11.29 23:57 신고
  • 프로필사진 어려웡 지금도 댓글 보실련지 모르지만 밑에서 두번째 사진중에 맨 아래보면 print() 그냥 이렇게 쓴건 왜 쓰는지 궁금합니다ㅜ 2019.03.22 18:31
  • 프로필사진 빌노트 줄을 한칸 띄우기위해 그냥 사용한 것입니다. 보기 좋게 출력하려구요 ㅎㅎ 2019.03.22 19:01 신고
  • 프로필사진 어려웡 또 하나 배워갑니다 ㅎㅎㅎㅎㅎ 별 의미는 아니였었네요 ㅋㅋㅋ 감사합니다 빌노트님 ~~! 2019.03.22 20:36
  • 프로필사진 빌노트 넵 열공하세요~ 2019.03.22 20:37 신고
  • 프로필사진 5882 print('Hello', end=' ')

    print('Python')
    이부분의 출력이
    HelloPython으로 붙어져서 나오는데 정상인가요?
    2019.06.02 23:58
  • 프로필사진 하얀신발 print함수는 줄바꾸기(개행)가 기본값인데, end='' 로 Hello 출력후에 개행없이 바로 Python이 오는게 맞습니다.

    Hello Python의 결과를 의도하셨다면,
    print('Hello', end=' ')를 입력하셔야 합니다. 작은 따옴표 사이에 한칸 띄어쓰기 있는거 보이시죠? 개행대신 한칸 띄어쓰기 후 Python이 오게 되는 겁니다.
    2019.06.07 20:57
  • 프로필사진 빌노트 대신 답을 주셔서 감사합니다^^ 2019.06.09 23:03 신고
  • 프로필사진 순대먹고 초면이지만 .. 사랑합니다..
    여러 입문자들 강의나 글로 된 정의들을 봐도 이해안됬던것들을 여기서 다 이해하고 가네요 !!
    코딩 마스터는 빌노트님에 사이트에서 할거같아요 !!
    훌륭하신 재능 기부.. 정말 감사합니다 !
    2019.07.12 01:15
  • 프로필사진 빌노트 앗 극찬이네요.
    최근에 글이 없었는데 노력하겠습니다!
    2019.07.18 10:59 신고
댓글쓰기 폼
«   2019/08   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함