별의 공부 블로그 🧑🏻‍💻

IPython

Programming/Python 2022. 3. 12. 22:30
728x90
728x170

IPython

  • Interactive Python
  • 파이썬에서 빅데이터 프로그래밍 작업을 할 수 있도록 지원하는 소프트웨어 도구
  • 코딩 편집기 기능 뿐만 아니라 대화형 컴퓨팅 기능을 제공한다.

 

제공 기능

  • 강력한 대화형 쉘(Shell)
  • 주피터 노트북에서 파이썬 코드를 작업하기 위한 커널
    • IPython + DashBoard = Jupyter Notebook
  • 대화형 데이터 시각화GUI 도구 세트(Tooklit)들을 지원
  • 병렬 컴퓨팅을 쉽게 사용할 수 있도록 하는 고성능 도구
  • 파이썬 환경에서 작업 중인 작업 중인 프로젝트에서 다른 프로그래밍 기능의 처리

 

IPython 설치

  • www.ipython.org
  • Anaconda 내에 Jupyter Notebook
  • CLI 환경에서 ipython 사용

Anaconda Prompt에서 ipython 명령을 입력한 후

 

주요 명령어

도움 찾기 명령어

명령어 기능 설명
? IPython의 특징과 개요 및 소개
%quickref 빠른 참조
help 파이썬의 도움 시스템
object? - 'object'에 대한 세부사항
- 추가적 사항은 'object??'를 사용

 

탭 완성

ln [1] myson = 1
ln [2] mysonny = 2
ln [3] mysonni = 3
ln [4] myson<TAB>
             myson
             mysonny
             mysonni

탭 완성 기능이 사용되고 있는 모습

 

객체 탐색하기

  • object_name?
    • Docstrings
    • Function Definition Lines
    • 클래스에 대한 생성자 내역

 

셀 커맨드

  • IPython 노트북 및 주피터 노트북 : !pwd, !echo, !ls

 

  • 파이썬 변수를 셀로 넘김 : {varname} syntax

 

매직 함수

  • 라인셀 모드의 내장된 %timeit 매직의 호출

 

  • 주요 IPython 매직 커맨드
커맨드 종류 기능 설명
%pwd 현재 작업 중인 디렉터리 경로를 표시
%dirs 현재 디렉터리 스택을 표시
%dhist 방문했던 디렉터리를 표시
%env 환경 변수를 얻거나 설정하거나 나열
%cd 현재 작업 중인 디렉터리를 변경
%quickref 빠른 도움말 표시
%debug 대화형 디버거를 활성화
%pdb pdb 대화형 디버거의 자동 호출을 제어
%magic 매직 함수 시스템에 대한 정보 출력
%config IPython 구성하기
%matplotlib 대화형으로 작업하기 위한 matplotlib를 설정
%time 파이썬 코드문의 기본적인 실행 시간을 측정
%timeit timeit 모듈을 사용하여 파이써 코드문의 실행 시간 측정의 많은 제어 기능을 제공

 

실행 및 편집

  • run 매직 커맨드
    • 파이썬 스크립트를 실행하고, 모든 데이터를 대화형 네임스페이스로 로딩
  • edit 커맨드
    • 편집기로 멀티 라인 편집을 지원

 

디버깅

  • %debug 호출 : 자동 디버거 시작
  • 코드의 디버깅
# hi_jin.py
def sum(a, b):
    return a+b

c = 10
d = 0
e = c/d

if __name__=="__main__":
    print(sum(10, 20))
    print(e)

  • %pdb 명령어를 입력하여 디버거를 작동시킨 후, 코드를 실행해본다.

 

Qt Console

  • Anaconda Command Line → ipython qtconsole
  • 주피터 커널을 사용
  • Inline Figures, 멀티 라인 편집 기능, 도표로 된 calltip 등 향상된 기능 제공
> ipython qtconsole

Anaconda Prompt에서 "ipython qtconsole" 명령을 입력하면 Jupyter Qt Console 창이 뜨게 된다.

 

Jupyter Qt Console - Inline Figures

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖