この記事では,新しくmoduleを使用するときに使える機能についてまとめていく.動作環境はjupyter notebook上を想定.
OSは,macOS Mojave ver. 10.14.16.
1. ソースコードの確認
moduleの機能を調べる際に一番確実なのは,ソースコードをみてしまうことだ.
moduleの”__init__.py”がどこに存在するかは,jupyter notebook上でmoduleの名前をそのまま書くことで知ることが出来る.
ただ往々にして,知りたいのはmoduleの元のファイルの位置ではなく,特定の関数やmethodの内容である.
jupyter notebook上で “Shift + Tab”
jupyter notebook上で”Shift + Tab”を押すと,関数のSignatureとDocstrin:,それにコメントの部分を見ることが出来る.”Shift + Tab”で簡単な注釈が出る.”Shift + Tab”を押して,”Shift”を押したまま,さらに”Tab”を押すと細かいコメントまで見ることが可能だ.np.sum()の例は以下の通りになる.
また,jupyter notebookではありがたいことに自分で定義した関数に関しても一度cellを回して読み込んでしまうと同様のヘルプを出すことができる.Docstring: は最初に空白行が出来るまでを表示する.例として以下のコードを書いてみると,写真のような表示が出る.
def sampleFunction(a, b= "2"): ''' This is sample function. Test line 1 Test line 2 Parameters ----------- a : any just print out with b b : str just print out with a ''' print(a,b)
inspect module
inspect moduleを用いれば,functionやmethodを見ることができる.
import inspect print(inspect.getsource(np.sum))
だが,この表記だと出力がモノクロになってしまって読みにくい.ということで,ある関数かmethodが入ったファイルを自分の好きなeditorで開きたくなる.これは,”inspect.getfile”で実現可能.
import inspect import subprocess path = inspect.getfile(np.sum) subprocess.check_call(["open",path])
2. メソッドの確認
新しいmoduleを学ぶ際に,このclassを使えば良いんだけれども,どんなmethodがあるか知りたい場合は多々ある.そんな時には dir 関数が便利.使えるmethodが表示される.名前から機能を予測出来る場合があるので検索する手間が省ける.
import matplotlib.pyplot as plt dir(plt) # 下の画像の生成には,以下のコードを用いた. " ,".join(dir(plt))
また,名前の後に,”.”が続くものを触る時は,ストレートに名前を書いてcellを回してみると,良い情報が手に入ったりする.matplotlib で図の調整の際に使う”plt.rcParams” は良い例.
———-雑感(`・ω・´)———-
基本的な操作だけれども知っとくとすごい便利.グクリ祭りを回避できる.
更に細かいテクニックや便利なコード,Pythonのアーキテクチャを知りたければ,以下の本がオススメだ.
参考文献
・関数/メソッドのソースコードを確認する (inspect), https://maku77.github.io/python/dev/get-source.html
コメント