지난 시간에는 Jupyter Notebook 설치 및 실행에 대해 정리했습니다. 이번엔 Jupyter notebook의 기능에 대해 정리해보겠습니다. Jupyter notebook을 실행한 후에 New 메뉴에서 Python3을 누르면 새로운 file이 생성됩니다.
새로 생성된 노트의 내부 구조를 대략 확인해보겠습니다(Help-User Interface Tour를 누르면 좀 더 자세히 확인 가능)
여기서 Mode에는 두 가지가 있는데요, 하나는 Command Mode이고 다른 하나는 Edit Mode입니다. 아무것도 없으면 Command mode이고 위 이미지와 같이 연필 모양이 있으면 Edit mode입니다! Command mode인 경우 Cell의 왼쪽이 파란색이고 Edit mode인 경우 위와 같이 초록색으로 나타납니다. Command mode인 경우 키보드를 이용해 노트북을 컨트롤(셀 선택, 삭제, 복사 등등)할 수 있습니다. Edit mode에선 Cell 내부에 코드를 칠 수 있으며 ESC키를 눌러 Command mode로 변경할 수 있습니다.
Kernel Indicator는 Kernel의 상태를 표시합니다. 이미지와 같이 속이 빈 동그라미인 경우 커널이 쉬고 있는 것이며 실행 중이라면 ●와 같이 속이 찬 동그라미로 변경이 됩니다. 실행 중일 때 Toolbar의 ■를 눌러주면 실행을 중지시킬 수도 있습니다.
◆ 유용한 단축키
Cell을 누르거나 enter키를 누르면 Edit mode로 변경됩니다. 코드를 입력 후 실행하는 것은 Toolbar의 Run키를 누르거나 Ctrl + Enter키를 눌러 실행해 줄 수 있습니다. Cell을 추가하는 것도 Insert 메뉴를 이용할 수도 있지만 키보드의 A와 B를 눌러 쉽게 추가할 수 있습니다. A를 누르면 현재 Cell의 위(Above)에 추가가 되고 B를 누르면 현재 Cell의 아래(Below)에 추가가 됩니다. 추가한 Cell을 삭제하는 것도 Edit 메뉴의 Delete를 눌러 삭제할 수 있지만 키보드 D키를 두 번 눌러서 삭제할 수 있습니다.(많은 Cell을 한 번에 삭제할 때는 Shift로 영역을 지정한 후 D를 두 번 눌러 한번에 삭제할 수 있습니다.)
◇ 그 외 유용한 단축키
Alt + Enter : Cell을 실행한 후 아래에 새로운 Cell을 추가하는 키
Shift + Enter : Cell을 실행한 후 바로 아래의 Cell 선택(만약 마지막 Cell에서 사용하면 Cell이 추가됩니다.)
Cell메뉴 - Run All : 처음부터 끝까지 전부 실행 (Cell 실행 순서는 1부터 시작하지 않고 이어진다!)
Kernel메뉴 - Restart and Run All : 처음부터 끝까지 전부 실행 (Cell 실행 순서가 1부터 다시 시작!)
◆ Cell 동작 방식
Jupyter Notebook에서 Cell이 동작하는 방식에 대해 아래 코드를 보며 정리해보겠습니다. Jupyter notebook에서 중요한 것은 실행하는 Cell의 실행 순서(Cell 옆의 숫자)인데요, 아래 코드를 보면 print(y)가 17이 아닌 50이 되는 것을 확인할 수 있습니다. 코드 위치 순서로 생각하면 10번에서 x, y를 설정한 후 print문 위의 y를 정의한 것은 17밖에 없지만 Cell의 실행 순서를 보면 13번에서 y는 50으로 정의한 후에 14번(print)을 진행하였기 때문에 50이 출력됩니다.
그럼 다시 위의 10번을 실행하고 print(y)를 실행하면 어떻게 될까요? 위에서 정리하였듯 jupyter notebook에서 Cell의 실행 순서가 중요하기 때문에 print(y) 전에 10번을 다시 실행하면 y는 다시 17이 됩니다!
이렇게 Jupyter Notebook 사용법에 대해 정리를 마치고 다음에는 Python의 Numpy라이브러리 정리를 해보겠습니다!
'Python > Data Science' 카테고리의 다른 글
Python - Numpy (3) (0) | 2021.07.17 |
---|---|
Python - Numpy (2) (0) | 2021.07.16 |
Python - Numpy (1) (0) | 2021.07.15 |
Jupyter Notebook(1) (0) | 2021.07.13 |
데이터 사이언스 (0) | 2021.07.12 |
댓글