【Python学習】タブ補完に関してまとめてみる

Pocket

Pythonチュートリアル第14章「対話環境での入力行編集とヒストリ置換」の内容。

今回は「タブ補完」に関してまとめる。

 

タブ補完とは

 

タブ補完とは、Tabキーで入力内容を補完する機能のこと。

Pythonの対話型インタープリタでは、タブ補完機能が用意されていて、インタープリタ起動時に自動有効となる。

私はLinuxをよく扱っているのだが、Linuxにもタブ補完機能があるので、普段からよく利用している。

説明するよりもやってみた方が早いと思うので、まずは試してみる。

というように、途中まで入力した状態でTabキーを押すと、その後に続く入力内容を補完してくれる。

上記の例だと、「pr」という入力内容に関して「print(」と「property(」を補完候補として出してくれている。

そこで、「pri」まで入力して、Tabキーを押してみると…

ちょっとわかりづらいけど、補完候補が「print(」に絞られたことで「print(」に補完してくれた。

あとは引数を入力して「)」で閉じれば、print()関数を実行できる。

先述の通り、補完の対象は関数だけではなく、変数やモジュールも補完してくれる。

たとえば、事前準備として以下のように変数を定義してみる。

そして、「ai」まで入力してタブ補完してみると

ちゃんと定義した変数が表示された。

もう少し入力内容を伸ばして、「aiueo」まで入力してタブ補完してみると

補完候補が絞られていることが分かる。

あとは、モジュールだけど、これはどうも先にインポートする必要があるみたい。

「import s」でタブ補完できるかなと予想したのだけれど、結果は以下の通り。

ただ、モジュールが持つ変数や定数の補完は可能で、これは便利だと思った。

[モジュール名].」(※ドットを忘れずに)まで入力してタブ補完すると、そのモジュールが持つ関数や定数が補完候補として一覧表示される。

 

タブ補完のメリット

 

考えてみたけれど、「入力ミスが少なくなる」というのがメリットとして大きいと思う。

タブ補完をうまく利用することで、余計なエラーを出す必要はなくなる。

自分で定義した変数や関数もタブ補完候補としてあがるので、長かったり紛らわしい変数を定義しても、タブ補完で確認していけば入力ミスを抑えられる。

あとは、メリットと言えるのか微妙だけど、「[モジュール名].」でタブ補完して、こういう関数や定数があるんだな〜と見れることかな。

勿論、リファレンス等のドキュメントを見ることで、どのような関数や定数があるのかは詳細含めて確認できるのだけれど、そのやり方とはまた違って、純粋な興味が惹かれる気がする。

ただ対話型インタープリタの機能だから、当然テキストファイル等では使えない機能。

IDEとかはどうなんだろう。実装されていそうだな。

 

まとめ

 

ということで、今回は「タブ補完」を学んでまとめて見た。

学ぶというほどのことでもなかったけどね。

入力ミスをしないというのは、時間の節約にもなると思うし、どんどん利用してプログラミングを楽しめるようになりたいね。

今回はこの辺で。

Comments
Pocket

Related posts