print는 괄호 안에 넘긴 값을 화면에 글자로 찍는 함수(function)입니다. 값을 쉼표로 나눠 여럿 넘기면 값 사이에 빈칸을 하나씩 넣고, 다 찍은 뒤에는 줄을 바꿉니다.
프로그램이 무엇을 했는지 사람이 알려면 결과를 화면에 내보내야 합니다.
출력은 글자 하나하나가 결과라서, 빈칸 하나와 줄바꿈 하나까지 그대로 예측할 수 있어야 코드를 읽었다고 할 수 있습니다.
이 레슨에서는 print가 값 사이와 끝에 무엇을 붙이는지 봅니다.
함수는 파이썬이 이름을 붙여 둔 기능이고, 이름 뒤에 괄호를 붙여 부릅니다. 함수를 직접 만드는 법은 8단원에서 배웁니다.
1괄호 안의 값을 한 줄로 찍는다
print('커피')
print("라테")
print(4000)
print()
print('끝')
커피
라테
4000
끝print는 괄호 안의 값을 찍고 줄을 바꿉니다. 줄마다 출력이 한 줄씩 생깁니다.
따옴표로 감싼 글자를 문자열(string)이라고 합니다. 작은따옴표(')와 큰따옴표(")는 어느 쪽을 써도 같고, 이 과목은 작은따옴표를 씁니다. 따옴표는 문자열이 어디서 시작해 어디서 끝나는지 알리는 표시라서 찍히지 않습니다.
4000처럼 수는 따옴표 없이 씁니다. 글자와 수가 어떻게 다른지는 수와 글자에서 봅니다.
괄호를 비운 print()는 빈 줄 하나를 찍습니다. 실행 결과의 넷째 줄이 빈 줄입니다.
2값 사이에는 빈칸 하나 — sep
괄호 안에 값을 쉼표로 나눠 여럿 넘길 수 있습니다. 1·2번 줄은 그림의 1·2번 줄과 같습니다.
print('커피', '라테')
print('커피', '라테', sep='')
print('커피', 4000)
print('커피', '라테', sep=' / ')
커피 라테
커피라테
커피 4000
커피 / 라테쉼표는 값과 값의 경계를 알리는 표시라서 찍히지 않습니다. print는 값 사이에 빈칸 하나를 넣어 한 줄에 찍습니다.
sep= 뒤에 따옴표로 글자를 적으면, 빈칸 대신 그 글자를 값 사이에 넣습니다. sep는 구분자(separator)를 줄인 이름입니다. sep=''처럼 따옴표 안을 비우면 사이에 아무것도 넣지 않아 값이 붙습니다.
3끝에는 줄바꿈 — end
print는 값을 다 찍은 뒤 끝에 줄바꿈을 붙입니다. 그래서 다음 print는 새 줄에서 시작합니다. 1·2번 줄은 그림의 3·4번 줄과 같습니다.
print('합계', end=': ')
print(14500)
print('주문', end='')
print('완료')
합계: 14500
주문완료end= 뒤에 글자를 적으면 줄바꿈 대신 그 글자를 끝에 붙입니다. 1번 줄은 '합계' 뒤에 ': '를 붙이고 줄을 바꾸지 않습니다. 그래서 2번 줄의 14500이 같은 줄에 이어 찍힙니다.
3번 줄의 end=''는 끝에 아무것도 붙이지 않아, 4번 줄의 '완료'가 '주문' 바로 뒤에 붙습니다.
sep와 end를 쓰지 않으면 각각 빈칸 하나와 줄바꿈이 붙습니다.
| 쓰는 꼴 | 넣는 곳 | 쓰지 않으면 |
|---|---|---|
sep='/' | 값과 값 사이 | 빈칸 하나 |
end=': ' | 다 찍은 뒤 끝 | 줄바꿈 |
예제
빈칸과 줄바꿈까지 그대로 적어 본 뒤 결과를 펼쳐 보세요.
print('주문', end='')
print('완료', '감사합니다')
print('합계', 14500, sep=': ')
무엇이 찍힐까요?
실행 결과 보기
주문완료 감사합니다
합계: 14500예상과 다르면 그곳이 배울 곳입니다. 1번 줄은 end=''라 줄을 바꾸지 않아 2번 줄의 '완료'가 바로 이어집니다. 2번 줄은 두 값 사이에 빈칸을 넣고 끝에서 줄을 바꿉니다. 3번 줄은 값 사이에 빈칸 대신 ': '를 넣습니다.
카페 영수증을 찍는 코드입니다. 줄마다 sep=': '로 메뉴와 값 사이에 콜론(:)과 빈칸을 넣었습니다.
print('플로우 카페')
print('커피', 4000, sep=': ')
print('라테', 4500, sep=': ')
print('합계', 8500, sep=': ')
플로우 카페
커피: 4000
라테: 4500
합계: 8500합계 8500은 손으로 계산해 적은 수입니다. 값에 이름을 붙여 파이썬이 합계를 계산하게 하는 법은 변수: 값에 이름 붙이기에서 봅니다.
자주 틀리는 곳
틀린 생각: 쉼표로 나눠 넘긴 값은 붙어서 찍힌다.
따옴표 안에 빈칸을 적지 않았으니 빈칸도 찍히지 않으리라 여기게 됩니다. 쉼표 자리에는 빈칸 하나가 들어갑니다.
print('a', 'b')
print('a', 'b', sep='')
a b
ab1번 줄은 a와 b 사이에 빈칸을 넣었고, sep=''를 쓴 2번 줄만 붙여 찍었습니다.
맞는 규칙: print는 값과 값 사이에 sep 글자를 넣고, sep를 쓰지 않으면 빈칸 하나를 넣습니다. 붙여 찍으려면 sep=''를 씁니다.
틀린 생각: 문자열을 감싼 따옴표도 함께 찍힌다.
코드에서는 따옴표가 글자에 붙어 있어 함께 찍힐 것처럼 보입니다. 바깥 따옴표는 찍히지 않습니다.
print('커피')
print('"커피"')
커피
"커피"2번 줄은 작은따옴표가 문자열을 감쌌고, 그 안의 큰따옴표는 글자라서 찍혔습니다.
맞는 규칙: 바깥 따옴표는 문자열이 어디서 시작해 어디서 끝나는지 알리는 표시라 찍히지 않습니다. 따옴표를 찍으려면 2번 줄처럼 다른 따옴표 안에 적습니다.
틀린 생각: Print처럼 대문자로 써도 파이썬은 print로 알아듣는다.
영어 글에서는 대문자로 시작해도 같은 낱말이라 그렇게 여기게 됩니다. 파이썬은 대문자와 소문자를 다른 글자로 봅니다.
print(4000)
Print(4500)
4000Traceback (most recent call last): File "main.py", line 2, in <module> Print(4500) ^^^^^NameError: name 'Print' is not defined. Did you mean: 'print'?1번 줄은 실행되어 4000이 찍혔고, 2번 줄에서 오류가 나 멈췄습니다.
맨 아래 줄의 NameError는 '그런 이름이 없다'는 오류입니다. 파이썬에는 Print라는 이름이 없고, print로 짐작해 실행해 주지도 않습니다. Did you mean: 'print'?는 '혹시 print인가요?'라는 파이썬의 짐작입니다.
오류 메시지를 읽는 차례는 다음 레슨 오류 메시지 읽기에서 배웁니다.
맞는 규칙: 파이썬은 대문자와 소문자를 다른 글자로 보므로 Print는 print와 다른 이름입니다. 이름은 대문자·소문자까지 똑같이 씁니다(규칙 6).
확인 문제
1. 예제 첫째 코드의 1번 줄에서 end=''를 지웠습니다. 무엇이 찍히는지 줄마다 그대로 쓰세요.
print('주문')
print('완료', '감사합니다')
print('합계', 14500, sep=': ')
힌트
1번 줄은 이제 print('주문')뿐입니다. end를 쓰지 않은 print가 끝에 무엇을 붙이는지 떠올립니다.
정답
주문
완료 감사합니다
합계: 145001번 줄이 끝에 줄바꿈을 붙여, '완료'는 새 줄에서 시작합니다.
흔한 오답은 첫 줄을 주문완료 감사합니다로 쓴 답입니다. end=''를 지운 뒤에도 줄이 이어진다고 본 것입니다.
2. 실행 결과가 아래처럼 나오도록 … 자리에 들어갈 것을 쓰세요.
커피/라테
print('커피', '라테', …)
힌트
실행 결과에서 두 값 사이에 무엇이 들어갔는지 보고, 그 자리의 글자를 정하는 법을 2절에서 찾아봅니다.
정답
sep='/'입니다. 큰따옴표로 sep="/"라고 써도 같습니다.
print('커피', '라테', sep='/')커피/라테sep=' / '처럼 빗금 양쪽에 빈칸을 넣으면 커피 / 라테가 찍혀 결과와 다릅니다. 빈칸도 글자입니다.
3. 사흘 동안 걸은 걸음 수를 찍는 코드입니다. 무엇이 찍히는지 줄마다 그대로 쓰세요.
print('월', '화', '수', sep='-')
print('걸음', end=' ')
print(8000, 9500, 7000)
힌트
줄마다 sep와 end가 있는지, 있으면 무엇인지 봅니다.
정답
월-화-수
걸음 8000 9500 70002번 줄은 끝에 줄바꿈 대신 빈칸을 붙여, 3번 줄의 수가 같은 줄에 이어 찍힙니다. 3번 줄은 세 수 사이에 빈칸을 넣습니다.
흔한 오답은 '걸음'을 한 줄에 따로 쓴 답입니다. end=' '를 쓴 줄도 끝에 줄바꿈이 붙는다고 본 것입니다.
아래 2절 코드의 3번 줄을 print('커피', 4000, '원')으로 바꾸면 찍히는 줄을 모두 봅니다.
처음 펼 때 약 6MB를 받습니다.컴퓨터에서 해 보기
파이썬 3.14. Tab을 누르면 다음 단추나 칸으로 갑니다. 들여쓰기는 빈칸 네 개입니다. Enter는 앞줄 들여쓰기를 잇고, 콜론 뒤에서는 한 단계 더 들여 씁니다. Ctrl+Enter로 실행합니다.
'실행'을 누르면 여기에 나옵니다.
여기서 쓴 코드 · 내 예상은 저장하지도 운영자에게 보내지도 않습니다. 페이지를 새로 열면 처음 코드입니다.
더 보기: 문자열 잇기와 되풀이