Skip to main content
Summary

이 장에서 배울 것

이번 장의 목표는 "완벽한 개발자"가 되는 것이 아닙니다. 목표는 더 작고 분명합니다. Notebook에서 코드를 실행하고, 결과를 읽고, 설명을 함께 남기는 능력을 갖추는 것입니다.

이 장을 끝내면 다음을 할 수 있습니다.

  • Colab 또는 Jupyter Notebook에서 새 노트북을 만든다.

  • 코드 셀과 마크다운 셀의 차이를 설명한다.

  • Python의 변수, 자료형, 리스트, 딕셔너리를 사용한다.

  • 조건문, 반복문, 함수를 이용해 짧은 데이터 처리 코드를 작성한다.

  • 오류 메시지를 보고 어디를 고쳐야 할지 추측한다.

  • 코드 결과를 마크다운 셀에 짧게 해석한다.

Python과 Notebook 시작하기

왜 이 주제가 중요한가

앞 장에서 생성형 AI는 그럴듯한 답을 만들 수 있지만, 항상 맞는 것은 아니라고 배웠습니다. 그래서 AI가 만든 답을 그대로 믿기보다 확인하는 습관이 필요합니다.

Python은 그 확인을 위한 좋은 도구입니다. 예를 들어 AI가 "평균 점수는 86점입니다"라고 말했을 때, Python으로 직접 계산해 볼 수 있습니다. AI가 표를 요약해 주었을 때도, Python으로 원본 데이터를 불러와 개수, 평균, 최댓값을 다시 확인할 수 있습니다.

Notebook은 이 과정을 더 쉽게 만듭니다. Notebook은 코드, 실행 결과, 설명 글, 표와 그래프를 한 문서에 함께 담을 수 있는 작업 환경입니다.1 그래서 데이터 공부에서는 "계산기"이면서 동시에 "실험 노트" 역할을 합니다.

핵심 개념 설명

Notebook은 실행 가능한 문서다

일반 문서는 글만 담습니다. Python 파일은 주로 코드만 담습니다. Notebook은 둘을 섞을 수 있습니다.

Notebook에는 주로 두 종류의 셀이 있습니다.

셀 종류하는 일예시
코드 셀Python 코드를 실행한다평균 계산, 표 만들기
마크다운 셀설명 글을 작성한다분석 목적, 결과 해석

코드 셀을 실행하면 바로 아래에 결과가 나타납니다. 마크다운 셀을 실행하면 글이 보기 좋게 정리됩니다. 이 구조 덕분에 "무엇을 했는지"와 "무슨 결과가 나왔는지"를 한 흐름으로 남길 수 있습니다.

커널은 코드를 실행하는 엔진이다

Notebook에서 코드를 실행하는 실제 프로그램을 커널(kernel)이라고 부릅니다. 어렵게 생각할 필요는 없습니다. 커널은 Notebook 뒤쪽에서 Python 코드를 실행하고, 변수와 함수의 상태를 기억하는 엔진입니다.2

예를 들어 첫 번째 셀에서 다음 코드를 실행했다고 해 봅시다.

score = 90

그다음 셀에서 아래 코드를 실행할 수 있습니다.

print(score)

두 번째 셀이 score를 알 수 있는 이유는 커널이 앞에서 실행한 값을 기억하고 있기 때문입니다. 하지만 커널을 다시 시작하면 이 기억은 사라집니다. 그래서 Notebook에서는 셀 실행 순서가 중요합니다.

Colab과 Jupyter Notebook

입문자는 먼저 Google Colab으로 시작하는 것을 권합니다. Colab은 웹브라우저에서 Python Notebook을 실행할 수 있는 클라우드 환경입니다. 별도 설치 없이 Google 계정으로 사용할 수 있고, 노트북을 공유하기도 쉽습니다.3

Jupyter Notebook은 내 컴퓨터에 설치해서 사용하는 대표적인 Notebook 도구입니다. 보통 Anaconda를 설치하거나 pip install jupyter 명령으로 설치합니다. 실행하면 웹브라우저가 열리지만, 기본적으로 코드는 내 컴퓨터에서 실행됩니다.

이 책에서는 기본 경로를 Colab으로 설명합니다. 설치, 운영체제, 환경 설정에서 막히지 않고 Python과 데이터의 핵심에 집중하기 위해서입니다. 로컬 Jupyter는 인터넷 없이 작업하거나, 내 컴퓨터의 파일과 환경을 더 세밀하게 관리하고 싶을 때 선택하면 됩니다.

쉬운 비유 또는 사례

Notebook은 과학 실험 노트와 비슷합니다.

실험 노트에는 보통 이런 내용이 들어갑니다.

  1. 오늘 무엇을 확인할지 적는다.

  2. 실험 과정을 적는다.

  3. 측정값을 기록한다.

  4. 결과를 해석한다.

  5. 다음에 고칠 점을 적는다.

Notebook도 같습니다.

마크다운 셀에는 "오늘은 과목 점수의 평균을 계산한다"라고 씁니다. 코드 셀에는 실제 계산 코드를 씁니다. 출력 결과를 본 뒤 다시 마크다운 셀에 "평균은 87점이고, 수학 점수가 가장 높았다"라고 적습니다.

이렇게 하면 나중에 다시 열어도 내가 무엇을 했는지 알 수 있습니다. 다른 사람에게 공유해도 코드와 설명을 함께 볼 수 있습니다. 데이터 분석에서 중요한 것은 정답 하나가 아니라, 그 정답에 도달한 과정을 남기는 일입니다.

직접 해보는 실습

실습 1: 첫 코드 셀 실행하기

Colab에서 새 노트북을 만든 뒤 코드 셀에 다음을 입력하고 실행해 봅니다.

print("Hello, Python!")

출력 결과가 아래처럼 나오면 성공입니다.

Hello, Python!

이제 마크다운 셀을 하나 추가하고 다음 문장을 적어 봅니다.

오늘 처음으로 Notebook에서 Python 코드를 실행했다.
출력 결과는 Hello, Python!이었다.

이 작은 작업이 중요합니다. 앞으로 우리는 코드를 실행한 뒤, 그 결과를 사람이 읽을 수 있는 말로 정리할 것입니다.

실습 2: 변수와 자료형 사용하기

변수는 값을 담는 이름표입니다.

name = "민서"
age = 18
height = 165.5
is_student = True

print(name)
print(age)
print(height)
print(is_student)

여기에는 네 가지 기본 자료형이 나옵니다.

  • "민서": 문자열, 즉 글자 데이터

  • 18: 정수

  • 165.5: 실수, 즉 소수점이 있는 숫자

  • True: 참 또는 거짓을 나타내는 불리언

변수 이름은 내용을 알아보기 쉽게 짓는 것이 좋습니다. a, b, x만 쓰면 나중에 의미를 잊기 쉽습니다. age, height, score처럼 역할이 보이는 이름을 사용하세요.

실습 3: 리스트로 점수 계산하기

리스트는 여러 값을 순서대로 담는 상자입니다.

scores = [83, 92, 78, 95, 88]

average = sum(scores) / len(scores)
highest = max(scores)
lowest = min(scores)

print("평균:", average)
print("최고점:", highest)
print("최저점:", lowest)

실행한 뒤 마크다운 셀에 다음 형식으로 해석을 적어 봅니다.

점수 5개의 평균은 ___점이다.
가장 높은 점수는 ___점이고, 가장 낮은 점수는 ___점이다.

여기서 sum()은 합계, len()은 개수, max()는 최댓값, min()은 최솟값을 구하는 함수입니다.

실습 4: 딕셔너리로 과목별 점수 표현하기

딕셔너리는 이름과 값을 짝지어 저장합니다. 현실의 표와 비슷합니다.

subject_scores = {
    "국어": 83,
    "수학": 92,
    "영어": 78,
    "과학": 95,
    "사회": 88
}

print(subject_scores["수학"])

특정 과목의 점수를 찾을 때는 키를 사용합니다. 위 코드에서 "수학"은 키이고, 92는 값입니다.

이제 반복문으로 모든 과목을 출력해 봅니다.

for subject, score in subject_scores.items():
    print(subject, score)

반복문은 같은 작업을 여러 번 할 때 사용합니다. items()는 딕셔너리 안의 키와 값을 한 쌍씩 꺼내 줍니다.

실습 5: 조건에 맞는 항목 찾기

이번에는 90점 이상인 과목만 찾아봅니다.

for subject, score in subject_scores.items():
    if score >= 90:
        print(subject, "은/는 90점 이상입니다.")

if는 조건문입니다. 조건이 참일 때만 들여쓰기 된 코드가 실행됩니다. Python에서는 들여쓰기가 문법의 일부입니다. 그래서 들여쓰기를 대충 맞추면 오류가 납니다.

실습 6: 하루 소비 기록 분석하기

조금 더 데이터다운 예제를 해 봅시다. 하루 소비 기록을 리스트와 딕셔너리로 표현합니다.

spending = [
    {"category": "식비", "amount": 8500},
    {"category": "교통", "amount": 1500},
    {"category": "간식", "amount": 3200},
    {"category": "도서", "amount": 12000}
]

total = 0

for item in spending:
    total = total + item["amount"]

print("총지출:", total)

조건을 추가해 5,000원 이상 쓴 항목만 찾아봅니다.

for item in spending:
    if item["amount"] >= 5000:
        print(item["category"], item["amount"])

마지막으로 함수를 만들어 봅니다. 함수는 자주 쓰는 코드를 이름 붙여 재사용하는 방법입니다.

def find_large_spending(records, limit):
    result = []

    for item in records:
        if item["amount"] >= limit:
            result.append(item)

    return result

large_items = find_large_spending(spending, 5000)
print(large_items)

이 함수는 소비 기록과 기준 금액을 받아, 기준 이상인 항목만 골라 냅니다. 지금은 작아 보이지만, 다음 장에서 CSV 파일을 읽고 데이터를 정리할 때 이런 사고방식이 계속 쓰입니다.

흔한 실수와 오류 분석

1. 따옴표를 빼먹는 오류

print(Hello)

Python은 Hello를 글자가 아니라 변수 이름으로 이해합니다. 글자를 출력하려면 따옴표가 필요합니다.

print("Hello")

2. 괄호를 닫지 않는 오류

print("Hello"

괄호는 열었으면 닫아야 합니다.

print("Hello")

3. 변수명 오타

score = 90
print(socre)

이 경우 NameError가 날 수 있습니다. Python은 score와 socre를 다른 이름으로 봅니다.

4. 자료형 혼동

age = 18
print("나이: " + age)

문자열과 숫자를 그대로 더할 수 없습니다. 숫자를 문자열로 바꾸거나, 쉼표로 출력합니다.

print("나이:", age)
print("나이: " + str(age))

5. 들여쓰기 오류

if score >= 90:
print("우수")

조건문 아래 실행할 코드는 들여쓰기해야 합니다.

if score >= 90:
    print("우수")

6. 셀 실행 순서 문제

Notebook에서는 아래 셀만 실행했다고 해서 위 셀이 자동으로 실행되지는 않습니다. 예를 들어 scores를 만드는 셀을 실행하지 않고 평균 계산 셀만 실행하면 오류가 납니다.

문제가 생기면 다음 순서로 확인하세요.

  1. 필요한 변수를 만든 셀이 실행되었는가?

  2. 셀을 위에서 아래로 실행했는가?

  3. 커널을 재시작했다면 처음부터 다시 실행했는가?

  4. 오류 메시지에서 NameError, SyntaxError, IndentationError 같은 핵심 단어를 찾았는가?

AI 코드 생성 도구가 코드를 만들어 주더라도, 한 번에 긴 코드를 붙여 넣지 마세요. 먼저 3~5줄씩 나누어 실행하고, 각 줄이 무엇을 하는지 확인하는 습관이 더 중요합니다.

요약

Notebook은 코드와 설명, 실행 결과를 함께 담는 실행 가능한 문서입니다. Colab은 설치 없이 시작하기 좋은 클라우드 Notebook 환경이고, Jupyter Notebook은 내 컴퓨터에서 실행할 수 있는 대표적인 오픈소스 Notebook 도구입니다.

Python을 처음 배울 때 모든 문법을 외울 필요는 없습니다. 먼저 변수, 리스트, 딕셔너리, 조건문, 반복문, 함수를 이용해 작은 데이터를 다뤄 보면 됩니다. 중요한 것은 코드를 완벽하게 작성하는 능력보다, 코드를 실행하고 결과를 확인하며 오류를 고치는 습관입니다.

이번 장에서 만든 점수 데이터와 소비 기록은 작지만, 실제 데이터 분석의 축소판입니다. 데이터를 표현하고, 계산하고, 조건에 맞게 고르고, 결과를 해석하는 흐름이 다음 장의 핵심으로 이어집니다.

퀴즈

  1. Notebook에서 코드 셀과 마크다운 셀은 각각 어떤 역할을 하는가?

  2. 커널이 재시작되면 기존 변수는 어떻게 되는가?

  3. 다음 코드의 결과는 무엇인가?

scores = [80, 90, 100]
print(sum(scores) / len(scores))
  1. 딕셔너리에서 {"국어": 85, "수학": 92}의 키는 무엇인가?

  2. Python에서 들여쓰기가 특히 중요한 문법 두 가지를 말해 보자.

  3. AI가 만들어 준 코드가 오류를 낼 때, 바로 전체 코드를 다시 요청하기보다 먼저 해야 할 일은 무엇인가?

체크리스트

다음 항목에 스스로 표시해 보세요.

  • Colab 또는 Jupyter에서 새 Notebook을 만들 수 있다.

  • 코드 셀을 실행하고 출력 결과를 확인할 수 있다.

  • 마크다운 셀에 분석 목적과 결과 해석을 적을 수 있다.

  • 변수와 기본 자료형을 설명할 수 있다.

  • 리스트로 평균, 최댓값, 최솟값을 계산할 수 있다.

  • 딕셔너리에서 키를 이용해 값을 꺼낼 수 있다.

  • if와 for를 사용해 조건에 맞는 항목을 찾을 수 있다.

  • 간단한 함수를 만들고 호출할 수 있다.

  • 오류 메시지에서 핵심 단어를 찾아볼 수 있다.

  • 셀 실행 순서가 결과에 영향을 준다는 것을 이해한다.

다음 장 연결

다음 장에서는 직접 만든 작은 데이터가 아니라, 파일에 저장된 데이터를 불러옵니다. CSV 파일을 읽고, 표 형태의 데이터를 살펴보고, 비어 있는 값이나 이상한 값을 정리합니다.

이번 장에서 배운 변수, 리스트, 딕셔너리, 조건문, 반복문은 그때도 계속 쓰입니다. 다만 다음 장부터는 pandas라는 도구를 사용해 더 큰 데이터를 표처럼 다루게 됩니다. 목표는 같습니다. AI가 말한 내용을 그대로 믿는 것이 아니라, 데이터와 코드로 직접 확인하는 능력을 기르는 것입니다.

참고

1Jupyter Notebook: An Introduction

2How to Use Jupyter Notebook: A Beginner's Tutorial

3Google Colab

책 목록

AI 교육 1권 : AI 리터러시 첫걸음: Python과 데이터로 배우는 질문·분석·검증

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기