print

  • print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

예제 1

  • 입력
    • 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함수로 출력할 문장(문자열)은 ‘ ’ 또는 “ ” 로 감싸야 한다.
    • 문자열 속에 ' 기호가 있는 경우에는 “ ”로
    • “ 기호가 있는 경우에는 ‘ ’를 사용하면 편리하게 출력할 수 있다.
    • 콤마(,)로 문자열을 나열할 경우 공백(기본값)이 자동으로 추가 된다.
    • 더하기(+) 기호로 문자열을 공백없이 연결할 수 있다.

예제 2

  • 입력
    • 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.
  • 부가 설명
    • 긴 문자열은 \ 기호로 사용하여 여러 줄에 작성할 수 있다.
    • 개행(줄바꿈), 공백, 특수기호(이스케이프 문자)를 포함하여 입력한 그대로 화면에 출력하기 위해서는 ‘’‘ ’‘’ 또는 “”“ ”“” 기호를 사용하면 된다.

예제 3

  • 입력
    • 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 인자를 사용하면 출력 결과를 파일, 표준에러처리로 보낼 수 있다.

예제 4

  • 입력
    • print('My mother\'s house')
      print('\', \", \\, \a, \t, \n')
  • 출력
    • My mother's house
      ', ", \, , 	, 
  • 정리
    • 이스케이프 문자(Escape character)는 \문자를 사용하여 출력한다.
    • (\n 공백, \t 탭키,
      \, \‘, \“ 등)

예제 5

  • 입력
    • 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함수도 쓰는 기능만 주로 쓰기 때문에 꼭 모든 것을 알아야할 필요는 없습니다.)

예제 6

  • 입력
    • 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! (대문자로 변경)
  • 정리
    • 문자열 객체의 다양한 메소드(함수)를 활용하여 출력 모양을 변경할 수 있다.
    • (메소드 이름만으로도 동작을 짐작할 수 있기에 자세한 설명은 생략)

예제 7

  • 입력
    • 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()함수를 사용하면 됨)
    • 수식과 리스트 같은 복잡한 내용도 쉽게 출력할 수 있다.