『Python数値計算ノート』ではアフィリエイトプログラムを利用して商品を紹介しています。

【Jupyter Notebook】ヘルプ機能とTab補完機能

help関数

Python のオブジェクトには docstring とよばれる説明文(ドキュメント)が付属していて、help()関数を使って呼び出すことができるようになっています。たとえば、help(abs) と記述すると、指定するべき引数や戻り値などが表示されます。

help(abs)

# Help on built-in function abs in module builtins:

# abs(x, /)
#   Return the absolute value of the argument.

ヘルプ表示の簡易記号

Jupyter Notebook では、末尾に ? を添えてオブジェクトの情報にアクセスできるようになっています。

all?

# Signature: all(iterable, /)
# Docstring:
# Return True if bool(x) is True for all values x in the iterable.

# If the iterable is empty, return True.
# Type: builtin_function_or_method

組み込み以外のオブジェクトについて調べるときは、モジュールをインポートしてからヘルプ機能を使います。

import math

math.sqrt?

# Docstring:
# sqrt(x)

# Return the square root of x.
# Type: builtin_function_or_method

Jupyter のマジックコマンドも docstring をもっているので、後ろに ? を添えるとヘルプを見ることができます。

%time?

# Docstring:
# Time execution of a Python statement or expression.

# The CPU and wall clock times are printed, and the value of the
# expression (if any) is returned.  Note that under Win32, system time
# is always reported as 0, since it can not be measured.

ワイルドカードを使うこともできます。たとえば、strオブジェクトについて、”en” を含む属性やメソッドを探す場合は次のように入力します。

str.*en*?

# str.encode
# str.endswith
# str.isidentifier

Tab補完

オブジェクト名のあとにピリオドを添えて [Tab] キーを押すと、オブジェクトの属性やメソッドの一覧が表示されます。
Jupyter Tabによるオブジェクトのメソッド検索
 
ピリオドのあとに、途中の文字を入れてから [Tab] キーを押すと、候補が絞り込まれます。
Jupyter Tabによるcで始まるメソッド検索
 
import のあとに半角スペースを入れてから [Tab] キーを押すと、インポートできるモジュールの一覧が表示されます。
Jupyter Tabによるインポート可能なモジュール一覧

コメント

  1. あとりえこばと より:

    【GPT脚本】ヘルプハラハラのIT奮闘記

    キャラクター:
    ボブ: IT企業のエンジニア。Jupyter Notebookの達人。
    アリス: ボブの同僚。技術的にはあまり詳しくないが、努力家。
    チャーリー: チームリーダー。いつも余裕のある態度を持つ。
    (舞台は、IT企業のオフィス。ボブとアリスがデスクで作業している。)

    ボブ: (興奮気味)ねえ、アリス!新しいプロジェクトのためにJupyter Notebookを使うんだ。これでデータ分析もバッチリだ!

    アリス: (戸惑い気味)Jupyter Notebook?それって何?

    ボブ: そりゃもちろん、Pythonのコードを書いて、その結果をグラフやテキストで見ることができるツールだよ。すごく便利だし、ヘルプ機能も充実してるんだ。

    アリス: (不安げに)でも、私、PythonもJupyter Notebookもあんまり触ったことないし…
     
    ボブ: 大丈夫だよ、アリス。ヘルプ機能があれば何も怖くない。さあ、こうやってノートブックを開くんだ。そしてセルにコードを書いてみて。

    (アリスが緊張しながらノートブックを開き、セルにコードを書く。)

    アリス: (焦って)うーん、これでいいのかな?

    ボブ: いい感じだよ。でも、もっと効率的にコードを書くためには、関数を使ってみるといいよ。こうやって関数を定義して…

    (ボブが関数の定義を示す。アリスは真剣に聞き入っているが、少し混乱している様子。)

    アリス: (困惑気味)でも、この引数って何?

    ボブ: 引数は、関数に渡すデータのことだよ。例えば、これをこう…

    (アリスがコードを修正しようとするが、間違ってセルを削除してしまう。)

    アリス: (驚き気味)あ、あれ?どこか消えちゃった…

    ボブ: (笑いながら)大丈夫、アリス。Jupyter Notebookはアンドゥ(取り消し)機能もあるから、戻せるよ。それに、ヘルプ機能でセルの復元方法も調べられるから安心だよ。

    アリス: (ホッとして)そうなんだ…ありがとう、ボブ。でも、やっぱり難しいなぁ。

    (チャーリーが近づいてくる。)

    チャーリー: どうだ、みんな。新しいプロジェクトの進捗はどうなってる?

    ボブ: うん、ここでJupyter Notebookを使ってデータ分析してみてるんだ。

    チャーリー: いいね、ボブ。でもアリス、お前も手伝ってんだろ?

    アリス: は、はい!頑張ってるつもりなんですけど…

    チャーリー: (優しく笑いながら)大丈夫だよ、アリス。みんな最初はみんな初心者さ。それに、Jupyter Notebookのヘルプ機能を上手く使えば、どんな問題も乗り越えられるさ。

    (ボブ、アリス、チャーリーが笑顔でお互いを見つめる。)

    アリス: ありがとう、チャーリー。これからも頑張ってみます!

    ボブ: そうだ、アリス!何かわからないことがあったら、いつでも聞いてくれるといいよ。

    チャーリー: それじゃあ、みんなで協力してプロジェクトを進めていこう!

    (3人は団結して笑顔で作業を再開する。カーテンが閉じる。)

    【コント終了】
    ※このコントは架空のものであり、実在の人物や企業とは関係ありません。