2014/07/01

Pythonモジュール:IPython その1

「IPython」というライブラリについてご紹介します。


IPythonとは、一言でいうと「Pythonの対話型モードの強化版」です。Python環境をインストールするとデフォルトで付いてくる対話型Pythonにさまざまな便利機能を追加したようなものになります。

Rubyをご存知の方であれば「Python版のpry」と表現するとわかりやすいかもしれません。

基本的には、デフォルトの対話型モードと同じ使い方をします。

IPythonには、大きく分けて

  • 純粋なCUIモード
  • ブラウザを使ったモード

の2つの使い方があります。

今回はこのうちの前者「純粋なCUIモード」に絞って見ていきたいと思います。詳しい解説はすでに多くの方がされているので、ここでは基本的な部分をざっとご紹介します。


純粋なCUIモード

このCUIモードは、ターミナル/コマンドライン上で利用するものです。

実際に使いはじめる前に、まずはインストールをしましょう。


インストール

インストール方法として、さまざまな方法があります。いちばんカンタンなのはapt-getなどのパッケージ管理ツールで入れる方法です。

私の環境では例のごとく pip で
$ pip install ipython 
でインストールしました。実際に IPython を走らせてみるとエラーが出て立ち上がらなかったので「エラーが出るごとに、欠けているものを都度都度インストールする」ということを繰り返しました。

pip でパッとやってみてダメなら、ここでハマってしまうと苦しいので、素直に何らかのパッケージ管理ツールを使う方法がおすすめです。

インストールについてはこのあたりが詳しいです。
Installing IPython — IPython
Quickstart — IPython An Afternoon Hack documentation


立ち上げる

インストールが無事終われば、IPythonを立ち上げます。
$ ipython

IPython が立ち上がると、次のような画面になります。


ちなみに、Python3 の場合はコマンド名が ipython3 に変わっています。


便利機能その1 補完機能

IPythonの便利な機能のひとつが、「補完機能」です。変数名や何かを途中まで打ってタブキーを押すと、該当するものが自動で補完されます。


候補がひとつしかない場合はそれが入力されますし、複数ある場合は一覧表示されます。

変数名の他に import でファイル名やクラス名、メソッド名を指定したいときなんかにも、バリバリ補完してくれます。

この機能だけでも、IPythonを使う価値はあるかと思います。


便利機能その2 コマンド実行機能

もうひとつ便利な機能に、「コマンド実行機能」です。「!」に続けてコマンドを入力すると、それがコマンドとしてそのまま実行できるというものです。


vimでコマンドを呼び出すのと同じような感じでしょうか。


便利機能その3 マジックファンクション機能

他には「マジックファンクション」という機能もあります。これは「%」始まりの文字列を入力すると各種擬似関数が使えるというものです。


たとえば、「%run」というコマンドはPythonスクリプトを実行する関数、「%time」というコマンドはその後に与えられたコードの実行時間を計測する関数です。「%history」は直近に入力したコードを返してくれる関数で、「%paste」はクリップボードに保存された文字列をPythonコードとして実行してくれる関数です。

他にもたくさんのマジックファンクションが用意されています。


便利機能その4 オブジェクト調査機能

オブジェクト名のあとに「?」をつけて「オブジェクト名?」とすると、そのオブジェクトの概要を見ることができます。型や中身、Docstringなどをざっと確認することができます。



以上です。

ここにあげた機能はごく一部で、他にもさまざまな機能があります。ひとまず IPython がインストールできたら、 IPython 起動後「 %quickref 」と打てば、かんたんなリファレンスを見ることもできます。さらに詳しく知りたい場合には以下、公式サイトや参考サイトをご覧ください。

今回は冒頭にあげたIPythonのふたつの使い方
  • 純粋なCUIモード
  • ブラウザを使ったモード
のうち、前者の「CUIモード」についてのみご説明しました。ブラウザを使ったモードについてはまた記事を改めます。

公式サイト
Announcements — IPython
Videos and Screencasts — IPython

参考サイト
Ipython-quick-ref-sheets
ITエンジニアのためのデータサイエンティスト養成講座(3):データを取り込む・格納するための方法を理解する (2/4) - @IT
ueBLOG | IPythonを使おう1

YouTube Ipython検索結果
ipython - YouTube

0 件のコメント: