주피터 노트북은 오픈소스의 웹 어플리케이션으로 브라우져상에서 라이브 코딩이 가능합니다. 코딩과 동시에 바로바로 결과 를 확인할수 있고 그래프나 이미지등도 브라우져 내에서 바로 확인이 가능하기 때문에 주로 데이터 사이언스 분야에서 많이 사용합니다. 또한 파이썬 이외의 다른 언어도 지원하며 내부에 설명을 위한 Markdown도 지원 합니다. 여기에서는 Mode, Markdown, Magic Command, Notebook Expression를 자주 사용하는 기능들을 위주로 설명합니다.
주피터 노트북에는 명령모드와 편집모드 2가지 모드가 있습니다. 명령모드(command mode)에서는 코드가 실행되는 셀을 편집해주고 편집모드에서는 셀안의 코드와 같은 내용을 편집합니다. 명령모드 상태에서는 셀의 좌측 선이 파란색으로 표시되 며 편집모드에서는 초록색으로 표시됩니다.
셀을 선택한 상태에서 ESC키를 누르면 명령모드로 모드가 전환됩니다. 명령모드에서는 셀에 대한 편집을 할수 있으면 자주 사용하는 단축키는 아래와 같습니다.
명령모드 상태에서 Enter키를 입력하면 선택된 셀이 편집모드로 전환됩니다. 편집모드에서는 셀 내부의 내용을 편집하며 코딩시에 항상 편집모드 상태에서 셀 내부에 코딩을 하게 됩니다.
머릿말 앞에 ‘#’ 를 넣어주며 1개에서 5개 까지 가능하며 ‘#’이 많아질수록 글자 크기가 작아집니다.
# Head
## Head
### Head
#### Head
##### Head
앞에 ‘>’ 기호를 넣어주며 갯수에 따라서 레벨을 나눠줄수 있습니다.
> dss
>> datascience
-, * 의 기호를 넣어 리스트 스타일을 나타낼수 있으며 띄어쓰기나 들여쓰리고 레벨을 나눠줄수 있습니다.
- data1
- data2
* data3
* data4
* data5
` `, ``` ```로 코드 블럭을 지정할수 있습니다. 한단어나 한줄을 나타낼때는 한개의 기호를 사용하며 여러줄을 나타낼때는 세개 의 기호를 사용합니다. 그리고 코드 블럭 안에서는 -, *, > 기호등과 같이 markdown에 예약 되어 있는 기호도 그대로 나타 납니다.
`> code`
[text](link)의 형태로 URL이 숨겨진 링크를 나타낼수 있습니다.
[Go Fastcampus!](http://www.fastcampus.co.kr/)
--- 로 가로선을 그을수 있습니다.
---
셀 내부에서 특별한 동작을 할수 있는 커멘드를 의미하며 커멘드에 대한 내용은 ipython 매직커멘드에 대한 웹 페이지 (http://ipython.readthedocs.io/en/stable/interactive/magics.html) 를 참고하시면 됩니다. 여기에서는 주로 사용되는 커멘드를 정리하였습니다.
def test():
"""
docstring test
"""
print("test")
test?
test??
Magic Command 아래의 코드를 test.py라는 파일로 저장합니다.
%%writefile test.py
print("test python")
print(2 + 3)
작성한 코드가 test.py로 저장되었는지 파일 리스트 명령으로 확인 합니다.
%ls
%run test.py
방금 작성한 test.py 코드를 노트북 셀로 호출합니다.
%load test.py
time 명령어를 사용하여 코드의 실행 시간을 확인할수 있습니다.
%%time
2 ** 1000
timeit 명령어를 사용하면 코드를 여러번 실행하여 평균 실행 시간과 오차를 확인할수 있습니다.
%%timeit
2 ** 1000
쉘 명령어는 셀 가장 앞에 ! 기호를 붙여서 노트북 내에서 쉘 명령어를 사용할수 있습니다.
쉘 명령어의 결과를 노트북 내에서 변수로 받아서 사용할수 있으며, 노트북 내의 변수를 쉘 명령어에도 사용 할수 있습니다.
file_list = ! ls
file_list
! echo {file_list}
바로 앞의 셀에서 실행한 결과를 다음 셀에서 사용하고자 할때 사용합니다. _(언더바)를 사용하면 이전 셀의 결과를 가져와서 사용할수 있습니다.
1 + 3
_ * 2