일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- virtualenv
- 백준 알고리즘
- KTNF
- 피보나치 수
- Hash Table
- 우분투
- Ipython
- django framework
- Euler
- 국산 네트워크
- data structure
- ubuntu
- Python3
- Django
- 파이썬
- Hash function
- project euler
- 파이썬3
- virtualenvwrapper
- 프로젝트 오일러
- 다이나믹 프로그래밍
- 아나콘다
- Python
- linked list
- IO Visor
- 주피터
- 문자열
- FNCP
- jupyter
- Anaconda
- Today
- Total
태코놀로지
Jupyter/IPython이 제공하는 유용한 기능 본문
1.5 Ten Jupyter/IPython essentials
다음은 주피터의 특/장점으로 여겨지는 다양한 출력에 대해서 알아보자. 일반 텍스트가 아닌 동영상과 Interactive(이하 인터렉티브) 요소를 출력해본다. IPython 라이브러리를 통해서 유투브의 주소를 가져와서 즉석에서 영상 재생을 할 수 있으며, 위젯 라이브러리를 통해서 동적인 출력창을 만들 수도 있다.
필요에 따라서 일회적으로 사용하는 라이브러리도 있고, 자주 사용하는 라이브러리도 있지만 이들 모두를 암기해서 사용하는 것은 무리다. 그러나 파이썬의 철학에도, PEP8 양식에도 각 라이브러리(함수)에는 Docstring(이하 닥스트링)을 기재할 것을 권장하고 있다. 라이브러리를 제작한 사람이 작성한 사용법과 명세를 '?' 명령어를 통해서 확인할 수 있다.
제작한 파이썬 코드에 대해서 벤치마킹 할 수 있는 명령어도 있다. 'timeit' 명령어를 통해서 임의의 횟수를 반복해보고, 각 경우에 소요된 시간 중 최고로 짧았던 시간을 알려준다. 테스트 케이스의 수는 임의적이긴 하지만 코드가 간단하고 1 회당 시간이 짧을 수록 증가하고, 긴 시간이 필요한 코드의 경우 테스트 케이스가 작다.
주피터에서는 외부 파일에 대한 프로파일링도 수행할 수 있다. 아래의 예시를 확인해보면 두 개의 함수를 정의하고, 리스트 컴프리헨션 기법을 사용하여 리스트를 작성한 뒤 리스트에 포함된 파일들에 대한 프로파일링을 수행하고 있다.
지금까지 주피터/IPython이 다른 IDE와 달리 제공하고 있는 명령어 및 기능에 대해서 간략하게 알아봤다. 이들 중에 외부 파일에 접근하기 위해서 자주 사용하는 명령어는 앞으로의 강의동안 자주 사용될 예정이니 숙지하는 것을 권장한다.