개발환경

Python Jupyter Notebook 매직 커맨드 모음

김해리 2022. 2. 17. 14:30

Jupyter Notebook Magic Command 모음

Jupyter Notebook은 웹 기반의 Python 실행 환경입니다. 이미지와 HTML과 같은 요소들을 출력할 수 있으며 코드와 문서를 하나의 파일로 작성하여 배포할 수 있습니다. 이러한 Jupyter Notebook(이하 Jupyter)에는 magic command라고 하는 기능이 존재합니다. 명령어는 특정 동작을 수행하기 위해 필요한 코드를 생략할 수 있도록 만들어 주거나, 코드 블록의 실행 시간을 측정하여 출력하는 등 편리한 기능들을 포함하고 있습니다.

 

아래와 같이 %lsmagic이라는 명령어를 입력하면 사용 가능한 magic command들이 출력됩니다. 이 중에서 몇 가지를 살펴보겠습니다.

%lsmagic
%lsmagic 명령어의 출력 결과

1. %time, %timeit, %%time, %%timeit

코드의 실행 시간을 측정합니다. 명령어에 따라 코드 한 줄에 대한 실행 시간을 측정할 수도, 여러 줄의 코드에 대한 실행 시간을 측정할 수도 있습니다.

%time 코드의 실행 시간을 측정합니다.
%timeit 코드를 n회 반복 실행하여 평균 실행 시간을 측정합니다.
%%time 코드 블럭(셀)의 실행 시간을 측정합니다.
%%timeit 코드 블럭(셀)을 n회 반복 실행하여 평균 실행 시간을 측정합니다.

%time, %timeit, %%time, %%timeit
%time, %timeit, %%time, %%timeit의 수행 결과

2. %matplotlib inline

matplotlib이 그려낸 그래프를 show() 구문 없이도 출력이 가능하게 만들어 줍니다.

이 명령어를 사용하지 않는다면 아래 그림에서 상단의 코드와 같이 show() 명령어가 필요합니다.

하단의 코드와 같이 %matplotlib inline이라고 하는 명령어를 사용하면, 이후에는 show() 명령어를 사용하지 않아도 그래프가 출력됩니다.

%matplotlib inline
상단 %matplotlib inline을 적용하지 않는 경우, 하단 %matplotlib inline을 적용한 경우

3. %who, %who_ls, %whos

해당 명령어들은 현재 메모리에 할당되어 있는 변수들의 정보를 보여줍니다.

%who 변수들을 출력합니다.
%who_ls 변수들을 리스트의 형태로 출력합니다.
%whos 변수들을 변수명과 유형, 그리고 데이터를 포함하여 출력합니다.

%who, %who_ls, %whos

4. %load_ext nb_black

이 명령어는 nb_black이라고 하는 라이브러리가 설치되어 있어야만 사용 가능한 명령어입니다. 명령어를 적용하면 코드 블록을 실행할 때마다, 자동으로 Black의 formatting이 적용됩니다.

 

GitHub - dnanhkhoa/nb_black: A simple extension for Jupyter Notebook and Jupyter Lab to beautify Python code automatically using

A simple extension for Jupyter Notebook and Jupyter Lab to beautify Python code automatically using black. - GitHub - dnanhkhoa/nb_black: A simple extension for Jupyter Notebook and Jupyter Lab to ...

github.com

nb_black
nb_black 확장이 적용된 상태에서 코드 블록을 실행하면, 자동으로 formatting이 적용됩니다.

반응형

'개발환경' 카테고리의 다른 글

무료 GPU 사용 가능 Jupyter Notebook 서비스  (0) 2022.04.23
웹서비스 배포를 위한 플랫폼  (0) 2022.04.23
[VScode] 추천 확장 모음  (0) 2022.02.14
[VScode] 단축키 모음  (1) 2022.02.13