GETTING MY DUCKS IN A ROW

Programming Language/Python

[Python IDE] Jupyter Notebook 사용법

Yoobin Park 2024. 3. 24. 03:00

0. 주피터 노트북이란?

주피터 노트북은 오픈소스의 웹 기반 플랫폼으로, 웹에서 사용할 수 있는 통합개발환경이다.
-Wikipedia

 

비주얼코드스튜디오 같은 IDE이지만 웹 기반이라는 점에서 다르다. .py는 파일 작성 후 셸로 작동해 결과를 확인해야 하지만, 주피터 노트북은 코드 작성 & 결과 확인을 한 페이지에서 확인할 수 있으며 마크다운도 지원하기 때문에 학습에 사용하기 굉장히 편한 프로그램이다.

현업에서 실제로 적용하기에는 어려운 툴이라는 말도 있는데 어느 정도 동의한다. 내가 연구실에 있을 때에는 모델 돌리는 코드를 .py 파일로 만들어서 argument를 받을 수 있게 하여 리눅스 터미널 환경에서 파일을 돌려야 했다. 모델을 반나절 정도 돌리거나 여러 모델을 한 번에 돌려야할 때가 있었는데 그걸 주피터 가지고 돌리는건 생각도 못했다. 하지만 데이터 분석이나 머신러닝 공부 등 시각화나 설명을 곁들인 코드가 필요한 부분에서는 떼놓을래야 떼놓을 수 없는 존재!

1. 셀 선택/편집 모드

  • 단순히 셀 하나를 클릭하는 상태는 선택 모드이며, 위아래 화살표로 셀에서 다른 셀로 이동할 수 있다.
  •  
  • 셀을 수정하고 싶을 때에는 셀을 더블 클릭하거나 Enter 키를 누르면 편집 모드로 바꿔 코드 블럭이나 마크다운 블럭을 수정할 수 있다.

2. 셀 실행

  • 다음과 같은 방식으로 다양하게 셀을 실행할 수 있다.
    • Alt + Enter : 선택한 셀 실행하고 아래에 셀 생성
    • Ctrl + Enter : 선택한 셀만 실행
    • Shift + Enter: 선택한 셀 실행 후 아래 셀로 이동
  • 코드 블럭을 실행하면 아래에서 실행결과를 바로 확인할 수 있고, 마크다운 셀을 실행하면 마크다운 코드가 렌더링된다. 코드 셀 왼쪽 대괄호 안에 있는 숫자는 코드 셀을 실행한 횟수를 뜻한다.

3. 셀 생성/삭제/전환

  • 선택모드에서 다음 키를 치면 셀을 생성하고 지울 수 있다.
    • a: 선택한 셀 위에 셀 생성
    • b: 선택한 셀 아래에 셀 생성
    • dd: 선택한 셀 삭제
    • m: 마크다운 셀로 전환
    • y: 코드 셀로 전환
    • z: 되돌리기 (작업 취소)

4. 마크다운 셀 (텍스트 셀)

  • 다양한 마크다운 문법에 대해 알아보자.

1) 다양한 수준의 제목

제목 1

제목 2제목 4....

  • 제목 5
  • 제목 3
  • # 제목 1 ## 제목 2 ### 제목 3 #### 제목 4 ##### 제목 5 ...

2) 서체 설정

    **굵은 글씨**
    _기울임꼴 2_
    ~~취소선~~
    `코드 서체`

굵은 글씨
기울임꼴

취소선

코드 서체

3) 코드 블럭

  • 만약 마크다운을 적용시키고 싶지 않거나 여러 줄의 코드를 입력하고 싶다면 아래처럼 핵틱 '`'기호를 3번 연달아써서 블럭을 열고 닫아주면 된다.
  • ``` 여러 줄의 코드 입력 또는 마크다운 적용 안할 글 입력 ```
    여러 줄의 코드 입력 또는
    마크다운 적용 안할 글 입력

4) 글머리 기호 목록

 

   * 불렛포인트 1
   - 불렛 포인트 2 
   + 불렛 포인트 3 
   * 원래 불렛 포인트 
       * 빈 불렛 포인트 
           * 네모 불렛 포인트

 

  • 불렛 포인트 1
  • 불렛 포인트 2
  • 불렛 포인트 3
  • 원래 불렛 포인트
    • 빈 불렛 포인트
      • 네모 불렛 포인트

5) 목차

1. 순서 1
2. 순서 2
3. 순서 3

1) 순서 1
2) 순서 2
3) 순서 3
  1. 순서 1
  2. 순서 2
  3. 순서 3

6) 들여쓰기 (인용)


> 인용
> 
> > 속의 인용
> > 
> > > 인용 속의 인용 속의 인용
> > > 
> > > > 인용 속의 인용 속의 인용 속의 인용
> > > > 
> > > > > ...

인용

인용 속의 인용

인용 속의 인용 속의 인용

인용 속의 인용 속의 인용 속의 인용

...

7) 이미지 삽입

![이미지 대체 텍스트](이미지링크.png/.gif)

힘내 냐옹아!

8) 링크 삽입

[링크 제목](링크주소)

일로 들어오세용

9) 수식 삽입 (LaTex)

(기본)
${y = x \times z}$

(중앙 정렬)
$$
{y = x \times z}
$$

${y = x \times z}$

$$
{y = x \times z}
$$

10) 가로줄

---
___
-- -- --
***


 


 


11) 표

왼쪽정렬
|열1|열2|열3|...|
|---|---|---|---|
|1행1열|1행2열|1행3열|...|
|2행1열|2행2열|2행3열|...|
|...|...|...|...|

중앙정렬
|열1|열2|열3|...|
|:-:|:-:|:-:|:-:|
|1행1열|1행2열|1행3열|...|
|2행1열|2행2열|2행3열|...|
|...|...|...|...|

오른쪽 정렬
|열1|열2|열3|...|
|--:|--:|--:|--:|
|1행1열|1행2열|1행3열|...|
|2행1열|2행2열|2행3열|...|
|...|...|...|...|   
  • 왼쪽 정렬
열1 열2 열3 ...
1행1열 1행2열 1행3열 ...
2행1열 2행2열 2행3열 ...
... ... ... ...
  • 중앙 정렬
열1 열2 열3 ...
1행1열 1행2열 1행3열 ...
2행1열 2행2열 2행3열 ...
... ... ... ...
  • 오른쪽 정렬
열1 열2 열3 ...
1행1열 1행2열 1행3열 ...
2행1열 2행2열 2행3열 ...
... ... ... ...

5. 코드 셀

  • 여러 줄을 한 번에 주석 처리하고 싶으면 주석 처리하고 싶은 줄을 드래그한 후 아래의 키를 누른다. (주석 처리된 상태에서 한 번 더 누르면 주석처리가 취소된다.)
    • Ctrl + /
  • 해당 코드 셀만을 python 파일로 저장
    • %%writefile filename.py

  • 해당 파일을 실행
    • %run filename.py

  • 파일 내용을 코드셀에 로드. (실행 시 아래 코드는 주석화되고, 파일 내용이 자동으로 코드셀에 입력된다.)
    • %load filename.py

실행 전실행 후

6. 주피터 노트북 저장

  • 이건 본능적으로 알고 있을 거라 생각한다.
    • Ctrl + S

주피터 노트북의 가장 큰 강점은 마크다운 + 코드 아닐까...
정말 예쁘게 꾸민다면 PDF로 저장해서 그 Preview를 봤을 때 프로그래밍 교육 책 한 권이 그냥 만들어지기도 한다.

내가 이런 것까지 정리해야 하나 싶다가 그냥 써봤다.

 

티스토리는 프리뷰 창이 없어서 마크다운을 정리하기가 좀 불편하다.

'Programming Language > Python' 카테고리의 다른 글

[Python Library] Numpy 기초  (0) 2024.03.26