요즘 파이썬 코드를 들여다볼 일이 줄어들면서, 예전에 알던 문법도 조금씩 가물가물해졌습니다. 다시 공부한다면 어려운 기능부터 급하게 훑기보다 가장 기본적인 원리부터 직접 실행해 보는 편이 낫겠다고 생각했습니다.
그래서 파이썬 기초를 처음부터 다시 공부하면서 그 과정을 하나씩 기록해 보려고 합니다. 처음 배우는 분도 코드를 외우기보다 "컴퓨터가 지금 어느 줄을 실행하고 있는가"를 생각할 수 있도록 설명하는 것이 목표입니다.

첫 번째 주제는 코드의 실행 순서입니다. 일반적인 Python 파일의 최상위 코드는 위에서 아래로 진행됩니다. 간단해 보이지만, 이 기준을 알고 있으면 변수의 값이 왜 바뀌는지와 오류 뒤의 코드가 왜 실행되지 않는지도 이해할 수 있습니다.
테스트 환경
- 작성 및 실행 확인일 : 2026년 8월 4일
- 운영체제 : Windows
- 로컬 실행 환경 : Python 3.9.13
- 공식 문서 확인 : Python 3.14.6 실행 모델 문서
이번 글의 print()와 변수 대입은 Python 3의 기본 동작을 설명합니다. Python 3의 세부 버전이 달라도 같은 흐름으로 확인할 수 있습니다.
Python 실행이 처음이라면 Windows에서 Python 설치하는 방법과 VSCode에서 Python 실행하는 방법을 먼저 확인해도 좋습니다.
코드는 작성한 순서대로 결과를 만든다
다음 코드를 실행하기 전에 어떤 문장이 먼저 나올지 예상해 보겠습니다.
print("파이썬 공부를 시작합니다.")
print("첫 번째 코드를 실행했습니다.")
print("오늘 공부를 마칩니다.")
실행 결과는 코드에 적힌 순서와 같습니다.
파이썬 공부를 시작합니다.
첫 번째 코드를 실행했습니다.
오늘 공부를 마칩니다.
Python은 첫 번째 print()를 실행한 뒤 두 번째 줄로 내려갑니다. 두 번째 줄이 끝나면 세 번째 줄을 실행합니다. 지금 단계에서는 한 줄을 처리한 뒤 다음 줄로 이동한다고 이해하면 충분합니다.
나중에 배우는 조건문은 일부 코드만 선택하고, 반복문은 같은 위치로 되돌아가 여러 번 실행합니다. 그때도 현재 어느 줄을 실행하는지 따라가면 흐름을 놓치지 않을 수 있습니다.
변수의 값도 실행 순서에 따라 달라진다
이번에는 숫자를 저장한 score의 변화를 따라가 보겠습니다.
score = 70
print("처음 점수:", score)
score = score + 10
print("바뀐 점수:", score)
실행 결과입니다.
처음 점수: 70
바뀐 점수: 80
코드가 실행되는 순간의 값을 표로 보면 조금 더 분명합니다.
| 실행 순서 | 실행하는 코드 | 실행 후 score |
|---|---|---|
| 1 | score = 70 |
70 |
| 2 | print("처음 점수:", score) |
70 |
| 3 | score = score + 10 |
80 |
| 4 | print("바뀐 점수:", score) |
80 |
세 번째 줄에서는 오른쪽의 score + 10을 먼저 계산합니다. 이때 score는 70이므로 계산 결과는 80입니다. 그다음 80을 다시 score라는 이름에 대입합니다.
=를 수학의 "양쪽이 같다"로 읽으면 score = score + 10이 이상해 보일 수 있습니다. Python 코드에서는 오른쪽 값을 계산해서 왼쪽 이름에 대입한다고 읽는 것이 좋습니다.
아직 대입하지 않은 이름을 먼저 사용하면 어떻게 될까
실행 순서를 거꾸로 바꾸면 오류가 생기기도 합니다. 아래 코드는 message에 값을 대입하기 전에 먼저 출력하려고 합니다.
print("실행 시작")
print(message)
message = "다시 공부하는 파이썬"
print("실행 끝")
직접 실행하면 첫 문장은 출력되지만, 두 번째 줄에서 NameError가 발생합니다.
실행 시작
Traceback (most recent call last):
File "03_name_before_assignment.py", line 2, in <module>
print(message)
NameError: name 'message' is not defined
오류가 발생한 시점에는 아직 message = "다시 공부하는 파이썬"이 실행되지 않았습니다. Python은 아래쪽 코드를 미리 실행해서 값을 가져오지 않습니다. 처리되지 않은 오류를 만나면 그 지점에서 프로그램이 멈추기 때문에 마지막의 실행 끝도 출력되지 않습니다.
순서를 바꾸면 정상적으로 실행됩니다.
message = "다시 공부하는 파이썬"
print("실행 시작")
print(message)
print("실행 끝")
실행 시작
다시 공부하는 파이썬
실행 끝
공식 Python 문서에서는 이름이 어떤 객체를 가리키며, 대입 같은 동작으로 이름이 연결된다고 설명합니다. 그리고 사용할 이름을 찾지 못하면 NameError가 발생합니다. 초보 단계에서는 값을 사용할 줄보다 먼저 대입해야 한다는 기준으로 기억하면 됩니다.
손으로 순서를 따라가 보는 연습
다음 코드를 바로 실행하지 말고 각 줄이 끝날 때마다 number가 얼마인지 먼저 적어 보세요.
number = 5
number = number + 3
number = number * 2
print(number)
첫 줄이 끝나면 5, 두 번째 줄이 끝나면 8, 세 번째 줄이 끝나면 16입니다. 따라서 마지막 출력은 16이 됩니다.
여기서 두 번째 줄과 세 번째 줄의 위치를 바꾸면 결과는 13입니다. 같은 코드가 있어도 실행 순서가 달라지면 결과가 달라진다는 것을 확인할 수 있습니다.
코드를 읽을 때 먼저 확인할 것
파이썬을 처음 배우거나 오랜만에 다시 볼 때는 문법을 전부 외우려고 하기보다 아래 세 가지부터 확인하는 편이 좋습니다.
- 지금 실행하려는 줄은 어디인가?
- 이 줄을 실행하기 직전 변수에는 어떤 값이 들어 있는가?
- 이 줄에서 오류가 나면 그 아래 코드는 실행되는가?
저도 이번에 기초부터 다시 확인하면서, 짧은 코드라도 머릿속으로만 넘기지 않고 실행 전 결과를 먼저 예상해 보는 방식을 사용하려고 합니다. 예상과 실제 결과가 다르다면 그 차이가 다음에 공부할 부분입니다.
다음에는 값마다 성질이 다른 이유를 이해하기 위해 숫자와 문자열 같은 자료형을 살펴보겠습니다. 그전에 출력 방법을 조금 더 연습하고 싶다면 Python print 사용법에서 줄바꿈과 sep, end, f-string 예제를 확인할 수 있습니다.
참고
대표 이미지는 글의 주제를 나타내기 위해 이미지 생성 도구로 제작한 일러스트이며, 실제 Python 실행 화면은 아닙니다.
'IT프로그래밍 > 파이썬' 카테고리의 다른 글
| 파이썬 문자열 기초 : 글자는 왜 0번부터 셀까 (0) | 2026.08.09 |
|---|---|
| 파이썬 산술 연산자 기초 : /, //, %는 무엇이 다를까 (0) | 2026.08.08 |
| 파이썬 변수 기초 : 값에 이름을 붙이면 무엇이 편해질까 (0) | 2026.08.07 |
| 파이썬 자료형 기초 : 숫자 10과 문자열 '10'은 왜 다를까 (0) | 2026.08.05 |
| 파이썬 함수 만들기 : def 정의부터 매개변수와 return까지 (0) | 2026.07.31 |
| 파이썬 리스트 사용법 : 생성, 추가, 삭제, 정렬 예제 (0) | 2026.07.30 |
| Python Install Manager 사용법 : Python 3.14 처음 설치부터 실행까지 (0) | 2026.07.20 |
| Python PATH 설정 확인 방법 : python 명령어가 인식되지 않을 때 (0) | 2026.07.12 |
댓글