← Back to Blog

[Python] Jupyter Notebook 활용법

computer science > development

2026-05-251 min read

#development #programming

IPython

Jupyter Notebook은 IPython 기반으로 만들어졌다.

다음과 같은 기능이 제공된다.


Magic Command

IPython에는 일반 Python 문법이 아닌, 추가 기능인 Magic Command가 존재한다.

명령어설명
%pwd현재 작업 디렉토리 출력
%timeit코드 실행 시간 측정
%ls현재 디렉토리 파일 목록 출력
%load_ext autoreload자동 모듈 재로드 기능 활성화
%%writefile셀 내용을 파일로 저장

예를 들어,

%%writefile hello.py
print("Hello World")

위 코드는 셀 내용을 hello.py 파일로 저장된다.


객체지향 구조로 파일 분리하기

Notebook만 사용하면 코드가 길어질수록 관리가 어려워진다.
객체지향을 지키지 않으면 개발자의 정신건강에도 해롭기 때문에 매우 중요하다.

예시 구조

project/
├── main.ipynb
└── src/
    ├── __init__.py
    └── character.py

간단한 클래스를 만들어보자.

%%writefile src/character.py
class Character:
    def __init__(self, name):
        self.name = name

    def hello(self):
        print(f"Hello, I'm {self.name}")

Notebook에서 다음처럼 import 해서 사용 가능하다.

from src.character import Character

player = Character("Player")
player.hello()

__init__.py

__init__.py 파일은 해당 디렉토리를 Python 패키지로 인식할 때 사용한다.

즉,

from src.character import Character

처럼 import 가능한 구조를 만들어준다.

최근 Python에서는 없어도 동작하는 경우가 많지만, 패키지 구조를 명확하게 하기 위해 일반적으로 함께 생성한다.

또한 자주 사용하는 클래스나 함수를 외부에 공개하는 용도로도 사용된다.

예를 들어:

# src/__init__.py

from .character import Character

__all__ = ["Character"]

그러면

from src import Character

처럼 사용할 수 있다.

__all__ 은 패키지에서 외부로 공개할 객체 목록을 의미한다.