非プログラマーのためのインフォマティクス入門。(仮)

非プログラマーがインフォマティクスについて勉強したことを記録します。主にKNIMEというソフトを使用しています。

非プログラマーのためのインフォマティクス入門。(仮)

【初心者レビュー】PyCharm使ったら、勉強が捗る!ちょいハードル下がる!

こんにちは。花粉が飛んでいますね。

 

さて、KNIMEの使い方を主な題材としている本ブログですが、前回

こんな記事を書いてみました。

記事内でも触れましたが、私プログラミングとか全然やったことないです。なので、pythonコード書く部分は結構時間かかりました。既存ライブラリを使ってるだけなので特に頭を使うこともなく簡単なはずなんですが、

  • お作法がわからん場合が多い
  • ライブラリ名、関数(class)名を知らない

など低経験値が引き起こす問題が結構あります。

で、少しずつ慣れていこう!と思って、もう一度復習してたんですが、

qiita.com

こんな記事が目について、PyCharmをインストールしみました。右も左もわからない私に、"最強"とかキャッチーなフレーズ。食いついてしまいました。

 

結果、入れてよかったです。

前回のtSNEのコードは何も見なくてもかけるようになりました。

インストールの方法とかは、色々と記事がありましたので割愛しますが、ど素人の私が覚えたいくつかの使い方を紹介します。

 

1:ライブラリや関数の名前を教えてくれる!

まず、.pyを作ります。素人の私、ついついjupyter notebookファイルを作りたくなってしまいましたが、pycharm上だと動作がちょっと怪しいようですし、.pyでの作業をお勧めします*1.pyでもjupyterと同じように選択した行ごとに実行できます(後述)。これ、素人にはありがたい機能です。そんなに先読みできないし、まず目先の1行が上手く書けているか確認したいんです。

さて、真っさらの.pyを作ったら、とりあえずライブラリのimportから始まると思いますが、iと打てばimportを提案してきますし、続けてskと打てばsklearnが出てきて、さらにピリオド、m...と続けていけばmanifoldに辿り着けます。

f:id:sumtat:20180306233927p:plain

最初から知ってても、次々に選択肢がいい感じで出てくるので楽チンです。頭働いてません。

でも、tsenがmanifoldにあることを知らない場合はどうするか?

そんな時はshiftを2回連打です。

f:id:sumtat:20180306234222p:plain

出てきた検索窓にtsneと入れれば、TSNEという関数(class)がsklearn.manifoldにあることがわかりますし、TSNEをクリックすれば、このclassがある.pyファイルが開いて中身を確認できます。中身読めば勉強できます。効率よく目的のファイルに辿り着けます。

2:間違ってると教えてくれる

すこし書きすすめました。

f:id:sumtat:20180306235414p:plain

画面右の方を見ると、黄色や赤の印があります。「読み込んだけど、使ってないライブラリがあるよ」「内包表記の終わりのカッコが無いよ」と全力で注意してくれています。注意の部分を参考に色々調べたり書き直せば上達できそうな気がします。

周りに先生がいればいいのですが、そういう環境にない方も多いと思います。私はこれ、嬉しい機能です。

3:引数の候補を教えてくれる

たとえばTSNEを使おうと思った場合、TSNE()まで書いて、

  1. 括弧の中にカーソルある状態でちょっと待つ
  2. 括弧の中にカーソルある状態でcommmand+P(win:ctrl+P)

いずれかの動作をするとキャプチャのように、引数の候補を教えてくれます。

f:id:sumtat:20180307000349p:plain

色もついてるし、わかりやすい。デフォルト値も確認できます。流れに乗って、まずはn_componentsを入れようと、nをタイプすると

f:id:sumtat:20180307000512p:plain

はい、また入力補助をしてくれます。この流れでいけばスラスラ書けちゃいます。ど素人でも。こんな感じで、既存のライブラリをちょっと使ってみたいという程度なら、結構いけちゃうんです*2

4:classの元ファイルにアクセスしやすい

簡単書けちゃうんですが、ちゃんと勉強のために元のファイルを読むといいかな個人的には思っています。そこで役立つ機能ですが、command(win: ctrl)を押しながら、自分で書いたTSNEの文字列にマウスオンすると次のキャプチャになります。

f:id:sumtat:20180307001216p:plain

TSNEみたいになるので、そのままクリックすると左のキャプチャのように新しいタブで参照先の.pyが開きますし、ポップアップ表示の右上のピンをクリックすると右のキャプチャのように固定されます。

f:id:sumtat:20180307001553p:plain
f:id:sumtat:20180307001603p:plain


5:選択した行を実行できる&変数の中身を確認できる

例えば途中まで動かしたい時、範囲を選んでExcute Selection in Console(もしくはshift + alt + e)をすることで、選んだ部分のみ実行できます。

f:id:sumtat:20180307002222p:plain

実行後は下のようになります。Consoleに標準出力、その右側に実行することで得られる値、変数等の一覧を右下で確認できます。

f:id:sumtat:20180307002619p:plain

たとえば、上記例のreducedはarrayなのですが、View as Arrayをクリックすると中身がtableで確認できたりして、素人には優しいです。

f:id:sumtat:20180307002817p:plain

jupyter notebookのように、書き直しては実行、書き直して実行を繰り返しても問題無いです(貯めてる変数がくちゃくちゃにならない程度では)。汚くなってきたなー、やり直したいなーと思ったら、画面左のRerun(青枠のところ)をクリックすれば、最初の綺麗な状態に戻ります(実行前という意味)。

f:id:sumtat:20180307003150p:plain

 

今日で、PyCharmを使い始めて3日目です。ここまでで紹介した内容は、全体の機能の数%程度の内容だと思います。言い換えれば、めちゃくちゃ多機能です。利用しているのは無償版です。ガチの人はどうなのか分かりませんが、私には無償版で十分です。

もっと便利な機能などあると思いますが、少しずつ調べていこうと思います。

 

超ど素人目線で感じたことをまとめてみました。基本的な内容過ぎるのか、あんまり似たようなことが描いてあるサイトがありませんでした。私を含め、初心者の情報共有ということで、お役に立てれば幸いです。

*1:他人に配るとか、マニュアル的に使いたいとか、もちろん場合によります

*2:これが怖い部分であるとも思っています。ただ、このくらい簡単にアクセスできるものがあるのに触れることすら拒んでしまうのも良く無いと思いますし、何事もバランスが大事です。私も、まずは触れてみて、勉強のとっかかりにしようとしています