0Pricing
Learn AI with Python · レッスン

Python REPL と IPython の操作

IPython での対話的な探索、タブ補完、?、%timeit、シェルコマンドを学びます。

「Python REPL と IPython の操作」はCoddyKit上の無料Learn AI with Pythonレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn AI with Python学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn AI with Pythonコースには全4レッスンが含まれています。

対話的なワークフロー

REPL(Read-Eval-Print Loop)を使うと、1行ずつ試せます。IPythonは、イントロスペクション、マジック、履歴機能を備えた強化版REPLで、Jupyterのカーネルを動かしています。

pip install ipython
ipython

単一の ? でdocstringを表示する

任意のオブジェクトに?を付けると、ブラウザーでドキュメントを開かなくてもdocstringとシグネチャを確認できます。

import numpy as np
np.arange?
# shows signature and docstring for arange

二重の ?? でソースを表示する

??を使うと、関数の実際のソースコードを表示できます(Pythonで書かれた関数の場合)。ライブラリの内部動作を理解するのに役立ちます。

def scale(x, factor=2):
    return x * factor

scale??
# prints the function source

%timeitで計測

ノートブックと同じ%timeitマジックをIPythonでも使えます。安定した計測結果になるよう、ループ回数を自動的に調整します。

%timeit [i**2 for i in range(1000)]

%runでスクリプトを実行する

%run script.pyは、現在のセッション内でファイルを実行します。実行後も、そのファイルの変数を確認できます。

%run analysis.py
print(results)   # variable defined inside analysis.py

直前の結果: _

単一のアンダースコア_には、直前の出力が保持されます。代入し忘れた結果を再利用するのに便利です。

In [1]: 10 * 5
Out[1]: 50

In [2]: _ + 1
Out[2]: 51

過去の結果: __ と ___

2つのアンダースコア__には最後から2番目の結果が、3つの___には最後から3番目の結果が保持されます。直前3つの出力を取り出せます。

In [1]: 1
In [2]: 2
In [3]: 3
In [4]: ___, __, _
Out[4]: (1, 2, 3)

番号で出力を取得する

番号付きの出力はすべて保存されます。Out[3](または_3)を使うと、3番目のセルの結果を取得できます。

In [3]: 7 * 6
Out[3]: 42

In [4]: Out[3] + 8
Out[4]: 50

タブ補完

ドットの後でTabを押すと、オブジェクトの属性とメソッドが一覧表示されます。APIを暗記しなくても、その使い方を見つけられます。

import pandas as pd
pd.read_<TAB>
# read_csv  read_excel  read_json  read_parquet ...

%whoで変数を一覧表示する

%whoはセッションで定義された名前を一覧表示し、%whosは型や値の詳細も加えて、より詳しい概要を表示します。

x = 5
name = "ada"
%who
# name	x

%whos
# Variable  Type  Data/Info

シェルと履歴

IPythonでは!でシェルコマンドも実行でき、%historyで入力履歴を呼び出せます。そのため、以前の実験内容をコピーできます。

!ls *.csv
%history -n 1-5   # show first five inputs with numbers

確認テスト

IPythonのイントロスペクション機能を使えるか確認しましょう。

まとめ

IPythonの便利な機能です。

  • obj?でdocstring、obj??でソースを表示する
  • %timeitでベンチマークを行い、%runでファイルを実行する
  • _、__、___で直前3つの結果を呼び出し、Out[n]で任意の結果を取得する
  • 探索にはTab補完を使う
  • %who / %whosで変数を一覧表示する

よくある質問

「Python REPL と IPython の操作」レッスンは無料ですか?

はい。「Python REPL と IPython の操作」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn AI with Pythonコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn AI with Pythonコースには全4レッスンが含まれています。

「Python REPL と IPython の操作」で何を学びますか?

IPython での対話的な探索、タブ補完、?、%timeit、シェルコマンドを学びます。 ブラウザで直接実行するハンズオンコードでLearn AI with Pythonを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Learn AI with Pythonを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLearn AI with Pythonは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「Python REPL と IPython の操作」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLearn AI with Pythonレッスンでコードを書いて実行できますか?

はい。すべてのLearn AI with Pythonレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 仮想環境と pip
  2. データサイエンスのための Jupyter Notebook
  3. データサイエンスのための Python データ型
  4. Python REPL と IPython の操作
← Learn AI with Pythonに戻る