これはなに?
pythonにおけるコーディング環境の個人的なおすすめについて記載します.
ここで言うコーディング環境とは,端的に「コードを何で書いて,どうやって実行するか」を指しており,テキストエディタや統合開発環境(IDE; Integrated Development Environment)を含みます.
結論
個人的に最適と思っている解
- その場で試すだけの捨てコード: インタラクティブシェル,jupyterlab
- データ分析(EDA): jupyterlab
- その他全般: VSCodeで書いてctrlキー+JキーでCLI呼び出して実行
- クラウド上: Google Colaboratory
pythonにおけるコーディング環境の選択肢
pythonにおいて,コーディング環境は無料/有料含め多くの選択肢があり,筆者も導入の際には悩みました.例えば以下があげられます.
- インタラクティブシェル・・・・pythonインストール後,パスが通っていれば python もしくは py にて実行することで開く
- メモ帳やノートパッドなど・・・・一般的なメモ帳
- pycharm・・・・無料/有料版があるJetbrains製の統合開発環境.jetbrainsによる調査ではシェア1位.個人的には食わず嫌いではある.
- vscode・・・・jetbrainsによる調査ではシェア2位.筆者はvscodeおじさんなので,データ分析はjupyterlabでそれ以外はほとんどすべてのコーディングや資料作成はvscodeにて行っています.
- visual studio・・・・無料/有料版があるMicrosoft製の統合開発環境.重いので,C#でGUIソフト作成したり,インストーラ作成以外は個人的には使っていません.
- vim・・・・jetbrainsによる調査ではシェア3位.筆者も簡単なコードについては,gitbash からサッと起動できるので,エディタを開くのが面倒な時は使っています.
- spyder・・・・jetbrainsによる調査ではシェア8位.これ自体がpythonで書かれているため,pip install で入れられるIDE.
- IDLE・・・・jetbrainsによる調査ではシェア9位.pythonインストール時に同梱されている.Integrated Development and Learning Environment の略とのことだが,統合開発環境として使うには物足りない印象.
- jupyterlab・・・・jetbrainsによる調査ではシェア10位(jupyter notebook は5位)の pip install が可能な webアプリ.jupyter notebook は,マークダウンによる説明/コード/実行結果/可視化のグラフなどをノートブック形式として1つのファイルにまとめて記載ができます.jupyterlabは,これの使い勝手を維持しつつ,ファイルブラウザが改良されていたり,拡張機能が導入しやすくなっています.ついこの前,デスクトップ版も登場(https://github.com/jupyterlab/jupyterlab-desktop).
- Google Colaboratory・・・・Googleのアカウントを持っていれば,Google Drive 上にて Google のクラウドサーバ上にてコーディングおよび実行が可能です.なんと,無料でGPUやTPUが利用可能です(無料の場合は制限がありますが,十分使えます).GUIは jupyterlab に似ていますが,ショートカットなど操作感は若干違います.
- (その他いろいろ)
コーディング環境に必要と思う性能/機能
結論にて示した環境は,以下の必要と思う性能や機能の事項を基準に考えました.
- 動作が軽い
- 入力補完・・・・コードの一部をタイプしてTabキーを押すことにより,後続の文字列の候補がタイプしなくても入力される,または,表示され選択できる
- シンタックスハイライト・・・・変数や制御文を色分けする機能
- 自動コード整形の操作が容易(例えば,保存時に最大文字数が超える場合は改行させたり,ライブラリのインポート順をabc順に並び変えるなど)
- サポートや情報が充実していて,言語やライブラリの更新に追従する
Python のおすすめの学習方法
プログラミングを最短で習得する,少なくても自分の意志で使えるようになる方法について,いくつかプログラミング言語を触ってきた筆者としては何の言語においても,以下2点が重要だと思います.
- 元々自分が他の言語で作っていた処理を違う言語で書き直す・・・・英語を勉強するときも,脳を生まれたばかりのまっさらな状態から勉強するわけではなく,日本語を通したり対比して,学習済みの言語野を用いて勉強するのと似ています
- 言語自体を網羅的に勉強するのではなく,やりたい事を先に考え,それを達成するために色々と調べながら実装する・・・・例えば,留学で語学力が上達するのは,その国の言葉を使ってコミュニケーションを取ることが強制されるためであり,使うことに対するモチベーションが一番大事です
独学で行うには,やはり2点目の「やりたい事ドリブン学習」が効果的で,例えば次の書籍は,Python を流行らせている AI/データ分析/機械学習/深層学習について実装することに主眼を置き説明されているので,実際に手を動かしながら学んでいける本だと思います(筆者も最初にこちらの書籍で遊びながら学びました).
リンク
リンク
コメント