2021年7月28日水曜日

ipython 超入門

ipython 超入門

概要

Python 標準の repl を強化した版になります 今回はインストールして試してみました

環境

  • macOS 11.5
  • Python 3.8.3
  • ipython 7.25.0

インストール

  • pipenv install ipython

起動

  • ipython
Python 3.8.3 (default, Jun  7 2021, 23:23:45) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.25.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]:

補完

TAB でできます モジュール名や変数名の他、OS 上にあるファイル名も補完してくれます

オブジェクトの情報をデバッグする

定義したオブジェクトの最後に「?」を記述することでオブジェクトのデバッグ情報を確認できます

In [4]: a = "hoge"

In [5]: a?
Type:        str
String form: hoge
Length:      4
Docstring:  
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.

シェルの実行

コマンドの先頭に「!」を付与します 「!」なしでも動作しますが変数としても使えるのでコマンドということを明示するために付与したほうが良いかなと思います

In [6]: a = !pwd

In [7]: a
Out[7]: ['/Users/username/Documents/work/try_ipython']

In [8]: pwd
Out[8]: '/Users/username/Documents/work/try_ipython'

Magic functions

「%」から始まる関数が良いされておりこれを使うと速度の計測 (%timeit) や python スクリプト自体の実行 (%run) ができます

timeit はデフォルトで 100000 ループするので実行時には注意しましょう

最後に

Jupyter のカーネルにもなっているので JypyterNotebook に慣れている人は iPython も簡単に使えるのかなと思います

参考サイト

0 件のコメント:

コメントを投稿