프로그램(program)은 컴퓨터가 할 일을 차례로 적어 둔 글입니다. 파이썬(Python)은 프로그램을 위에서 아래로, 한 번에 한 줄씩, 쓴 그대로 실행합니다.
코드를 읽으려면 먼저 컴퓨터가 코드를 어떤 차례로 실행하는지 알아야 합니다. 사람은 글의 뜻을 짐작해 차례를 고쳐 읽기도 하지만, 파이썬은 적힌 줄을 적힌 차례대로만 실행합니다. 이 과목은 파이썬이 코드를 실행하는 규칙 여섯을 하나씩 세우고, 끝까지 같은 말로 씁니다. 이 레슨에서는 그 가운데 규칙 1과 규칙 6을 세웁니다.
1위에서 아래로, 한 번에 한 줄
그림의 첫 코드는 네 줄입니다.
# 플로우 카페 주문 순서
print('주문합니다')
print('계산합니다')
print('커피를 받습니다')
주문합니다
계산합니다
커피를 받습니다파이썬은 1번 줄부터 읽습니다. 한 줄을 다 실행한 뒤에야 다음 줄로 내려갑니다.
print('주문합니다')는 괄호 안 따옴표 사이의 글자를 화면에 한 줄로 찍습니다. 이렇게 화면에 글자를 내보내는 것을 출력(output)이라고 합니다. print는 다음 레슨에서 자세히 봅니다.
코드 아래 '실행 결과' 상자는 이 코드를 실제로 실행했을 때 화면에 나온 출력입니다. 이 과목의 실행 결과는 모두 파이썬 3.15로 돌려 얻었습니다. 출력은 파이썬 3.11 이상이면 같고, 오류 메시지의 문구는 판에 따라 조금 다를 수 있습니다.
1번 줄은 # 기호로 시작하는 주석이라 실행하지 않습니다(3절).
출력 줄의 차례는 실행한 줄의 차례와 같습니다. 2번 줄이 첫째 출력, 3번 줄이 둘째 출력, 4번 줄이 셋째 출력이 됩니다.
규칙 1. 위에서 아래로, 한 번에 한 줄을 실행합니다.
2쓴 대로만 실행한다
그림의 둘째 코드는 3번 줄과 4번 줄의 차례를 바꾼 것입니다.
# 플로우 카페 주문 순서
print('주문합니다')
print('커피를 받습니다')
print('계산합니다')
주문합니다
커피를 받습니다
계산합니다계산도 하기 전에 커피를 받는 차례가 되었습니다. 사람이 보면 이상한 차례지만, 파이썬은 줄을 고쳐 실행하지 않고 오류도 내지 않습니다. 파이썬은 '주문'이나 '계산'이 무슨 뜻인지 모릅니다. 줄에 쓰인 글자를 쓰인 차례대로 실행할 뿐입니다.
규칙 6. 컴퓨터는 이름의 뜻을 모릅니다. 쓴 대로만 합니다.
규칙 6의 '이름'은 이 단원의 변수: 값에 이름 붙이기부터 나오는, 값에 붙여 쓰는 이름입니다. 이름을 total(합계)로 지어도 파이썬은 그 뜻을 모릅니다. 지금은 '파이썬은 글의 뜻을 짐작하지 않는다'로 읽으면 됩니다.
그래서 차례가 틀린 프로그램은 오류 없이 틀린 결과를 냅니다. 프로그램이 뜻대로 움직이게 하는 일은 코드를 쓰는 사람의 몫입니다.
3주석은 실행하지 않는다
# 기호부터 그 줄 끝까지는 주석(comment)입니다. 따옴표 안에 쓴 #는 주석이 아니라 글자입니다. 주석은 코드를 읽는 사람에게 남기는 메모라서, 파이썬은 실행하지 않고 건너뜁니다.
1절 코드의 1번 줄 # 플로우 카페 주문 순서는 이 프로그램이 무엇을 하는지 사람에게 알려 줄 뿐 출력에는 아무것도 남기지 않습니다. 그래서 코드는 네 줄인데 출력은 세 줄입니다.
주석 안에 print를 적어도 실행되지 않습니다. 줄 앞에 # 기호를 붙이면 그 줄을 지우지 않고 실행에서 뺄 수 있습니다.
print('주문합니다')
# print('계산합니다')
print('커피를 받습니다')
주문합니다
커피를 받습니다뒤 레슨들은 코드 위에 # 1. 합을 0으로처럼 덩어리마다 할 일을 주석으로 적습니다. 사람이 코드를 나눠 읽기 좋게 하는 메모이고, 실행에는 아무 영향이 없습니다.
예제
코드를 먼저 읽고 무엇이 찍힐지 적어 본 뒤 결과를 펼쳐 보세요. 맞혀 보기는 점수에 들지 않습니다.
print('어서 오세요')
# 메뉴를 보여 줍니다
print('커피 4000')
print('라테 4500')
무엇이 몇 줄 찍힐까요?
실행 결과 보기
어서 오세요
커피 4000
라테 45001번 줄부터 차례로 실행하고, 2번 줄의 주석은 건너뛰어 세 줄이 찍힙니다(규칙 1). 예상과 다르면 그곳이 배울 곳입니다.
다음 코드는 줄 앞에 번호를 붙였는데, 번호 차례가 섞여 있습니다.
print('3. 커피를 받습니다')
print('1. 주문합니다')
print('2. 계산합니다')
무엇이 찍힐까요?
실행 결과 보기
3. 커피를 받습니다
1. 주문합니다
2. 계산합니다예상과 다르면 그곳이 배울 곳입니다. 1, 2, 3 차례로 예상했다면 파이썬이 글의 뜻을 읽고 차례를 맞춘다고 본 것입니다. 번호도 따옴표 안의 글자일 뿐이라, 파이썬은 줄의 차례대로 찍습니다(규칙 1·6).
자주 틀리는 곳
틀린 생각: 파이썬은 글의 뜻을 읽고 차례를 알아서 맞춰 실행한다.
사람은 번호나 뜻을 보고 차례를 고쳐 읽으니, 파이썬도 그러리라 여기게 됩니다. 파이썬은 줄의 차례를 고치지 않습니다.
print('2. 계산합니다')
print('1. 주문합니다')
2. 계산합니다
1. 주문합니다번호 2와 1도 따옴표 안의 글자일 뿐이라, 쓴 줄의 차례대로 찍힙니다.
맞는 규칙: 파이썬은 글의 뜻을 모르고, 위에서 아래로 한 줄씩 쓴 대로만 실행합니다. 차례는 코드를 쓰는 사람이 바로잡습니다(규칙 1·6).
틀린 생각: 주석도 코드처럼 실행된다.
주석은 코드 줄 사이에 함께 적히고, 할 일을 적어 두기도 합니다. 파이썬은 # 뒤의 글을 실행하지 않고 건너뜁니다.
# 인사를 두 번 찍습니다
print('어서 오세요')
어서 오세요주석에는 두 번이라고 적었지만 print 줄이 하나라 한 번만 찍힙니다.
맞는 규칙: 따옴표 밖의 # 기호부터 줄 끝까지는 주석이라 파이썬이 실행하지 않습니다. 파이썬이 할 일은 코드 줄로 씁니다(규칙 6).
확인 문제
1. 예제 첫째 코드의 2번 줄 # 메뉴를 보여 줍니다를 아래처럼 print 줄로 바꿨습니다. 무엇이 찍히는지 줄마다 그대로 쓰세요.
print('어서 오세요')
print('메뉴를 보여 줍니다')
print('커피 4000')
print('라테 4500')
힌트
2번 줄이 #으로 시작하는지 봅니다. 그다음 1번 줄부터 차례로 따라갑니다.
정답
어서 오세요
메뉴를 보여 줍니다
커피 4000
라테 45002번 줄이 주석에서 코드로 바뀌어 출력이 한 줄 늘었습니다. 위에서 아래로 실행하므로 둘째 줄에 찍힙니다.
흔한 오답은 세 줄만 쓴 답입니다. 2번 줄을 아직 주석으로 본 것입니다. 줄 앞에 # 기호가 없으면 실행하는 코드입니다.
2. 줄 ㉠~㉣을 위에서 아래로 놓아, 아래 실행 결과가 나오는 코드를 만드세요. 놓은 차례를 ㉠~㉣로 쓰세요.
어서 오세요
커피 4000
라테 4500
- ㉠
print('라테 4500') - ㉡
# 메뉴 두 가지 - ㉢
print('어서 오세요') - ㉣
print('커피 4000')
놓은 뒤에는 이것도 고르세요. ㉣이 ㉠보다 위에 와야 하는 까닭은 무엇일까요?
- ① 파이썬은 위에서 아래로 실행해, 먼저 실행한 줄이 먼저 찍히기 때문
- ② 커피가 라테보다 싸서 파이썬이 싼 메뉴부터 찍기 때문
- ③ ㉡ 주석이 메뉴를 차례로 찍으라고 알려 주기 때문
힌트
실행 결과를 첫 줄부터 보며, 그 글자를 찍는 줄을 ㉠~㉣에서 찾아 짝지어 봅니다. ㉡이 무엇을 찍는지도 봅니다.
정답
㉢ ㉡ ㉣ ㉠ 차례이고, 까닭은 ①입니다.
print('어서 오세요')
# 메뉴 두 가지
print('커피 4000')
print('라테 4500')어서 오세요
커피 4000
라테 4500㉡은 주석이라 어디에 두어도 출력이 같습니다. ㉡ ㉢ ㉣ ㉠ · ㉢ ㉣ ㉡ ㉠ · ㉢ ㉣ ㉠ ㉡도 맞습니다.
- ② 파이썬이 값의 뜻(어느 메뉴가 싼지)을 안다고 본 것입니다. 파이썬은 쓴 차례대로만 실행합니다(규칙 6).
- ③ 주석이 실행된다고 본 것입니다. 주석은 사람에게 남기는 메모입니다.
3. 장보기 목록을 찍는 코드입니다. 무엇이 찍히는지 줄마다 그대로 쓰세요.
# 목록을 가나다순으로 찍습니다
print('우유')
print('계란')
print('사과')
힌트
1번 줄이 무엇으로 시작하는지 봅니다. 그다음 코드를 위에서부터 한 줄씩 따라갑니다.
정답
우유
계란
사과주석은 가나다순이라고 말하지만, 파이썬은 주석을 실행하지 않고 print 줄을 쓴 차례대로 실행합니다.
흔한 오답은 계란·사과·우유 차례입니다. 주석에 적은 말을 파이썬이 따른다고 본 것입니다(규칙 6).
아래 1절 코드의 2번 줄과 3번 줄을 서로 바꾸면 찍히는 줄을 모두 봅니다.
처음 펼 때 약 6MB를 받습니다.컴퓨터에서 해 보기
이 칸 쓰는 법 '실행'(컴퓨터는 Ctrl+Enter)을 누르면 결과가 아래에 나옵니다. 이 칸은 파이썬 3.14라 출력과 오류 이름은 레슨(3.15)과 같고, 힌트 문구가 드물게 다릅니다.
파이썬 3.14. Tab을 누르면 다음 단추나 칸으로 갑니다. 들여쓰기는 빈칸 네 개입니다. Enter는 앞줄 들여쓰기를 잇고, 콜론 뒤에서는 한 단계 더 들여 씁니다. Ctrl+Enter로 실행합니다.
'실행'을 누르면 여기에 나옵니다.
여기서 쓴 코드 · 내 예상은 저장하지도 운영자에게 보내지도 않습니다. 페이지를 새로 열면 처음 코드입니다.
더 보기: print로 출력하기