私は現在データサイエンスやコンサルティングの仕事をしている。仕事上Pythonで分析やデータ処理のプログラムを日々書いている。人に教えることもある。しばらく前からPythonでプログラミングを始めようとしている人も増えているようだ。Pythonを勉強する上での考え方やどこがボトルネックになるかを書いてみたい。
- 最初は型や文法をとにかく暗記、本やウェブサイトなどのプログラムを丸写しして動かしてみる
- 小さいプログラムを書くこと
- エラーにめげない、エラーは問題解決の手助けになるのだから
- pandasでデータ構造の考え方を勉強する
- 環境設定について
- 会社でproxy設定が必要なときは詳しい人にお願いしたほうがよい
- 一番大切なのはやる気と情熱、自分である程度の量を書くこと
最初は型や文法をとにかく暗記、本やウェブサイトなどのプログラムを丸写しして動かしてみる
Pythonはコンピュータプログラミング言語である。抽象度が高い高水準言語とされている言語の中でもだいぶ理解しやすいほうだと思う。しかし、初めてプログラムを書くことはそれなりに難しい。Pythonはプログラミングコードが読みやすいとされている反面、書き方が厳格で決まったとおりに書かないと動かない。最初は無味乾燥でつまらないように思える型や文法を暗記する必要があるが、そのうちすぐにその重要性がわかるようになる。その頃にはプログラミングが楽しくなっているはずだ。頑張ろう。
小さいプログラムを書くこと
最初から巨大で壮麗なプログラムを書こうとしてはいけない。まずは考え得る最小のプログラムを書こう。小さいプログラムを書いては動かし書いては動かすことを繰り返す。その成功体験の積み重ねが自信と力になっていく。
エラーにめげない、エラーは問題解決の手助けになるのだから
さて、いつまで経ってもエラーが出続けると心が折れてしまう人がいる。しかし、エラーというのはとても慈悲深いものなのである。相手が人だったら、同じ間違いを繰り返すと「いい加減にしろよ!」と怒ったり、呆れて「またかよー」「何回聞くんだよ」とイヤミを言ったりするかもしれないが、コンピュータは何度でも黙って繰り返し適切なアドバイスをくれる。エラーメッセージを理解することは、問題点を切り分けて明確化し、実際に動くプログラムを書く手助けになる。根気強くエラーと向き合って、まずは思った通りにちゃんと動くプログラムを書くことを目指そう。また、エラーが出たらエラーメッセージをコピペしてGoogle検索をすると、世の中には親切な人がいるもので解決方法を示してくれる。いくらでも自分で勉強できる、ありがたい世の中ではないか。
pandasでデータ構造の考え方を勉強する
Pythonでは便利な関数を集めたライブラリが充実している。よく使われるライブラリにはデータ処理に使われるpandasがある。しかし、pandasの使い方がよくわからないという声を聞くことがしばしばある。勉強することに加えて慣れが必要だと思うが、pandasを学習することでデータ構造の考え方がわかるようになるだろう。
環境設定について
Pythonを書く上で必要になるのが、環境設定である。Pythonの勉強をしようと思っている段階であれば、Google Colaboratory (Colab) がおすすめである。面倒な設定が必要なく、無料で、しかもGPUも使えるので並列計算のプログラムも動かせる。Google Colabを使い始めるときにはPython用のGoogleアカウントを新しく作るとよいと思う。
しかし、クラウド上ではなく手元で動かしたくなった場合には、自分で統合開発環境(IDE)を設定する必要がある。また、会社でPythonを使いたくなってもGoogleアカウントを持つことが許可されない場合もある。そのときは改めてIDEをインストールすることになる。私が使ったことがあるのは、Visual Studio Code (VSCode) とJupyterlab Desktopである。たまたま使ったことはないが他にもPycharmなど人気のあるIDEもある。
Jupyterlab Desktopは比較的新しい。メリットは使いやすさだがデメリットもある。バージョンによってはうまく動かないことがあるのだ。運悪く最初にそういうバージョンにあたってしまうと、どうしていいかわからなくなって、Pythonを使うこと自体あきらめてしまうこともあり得る。そういう意味で、今の段階ではあまりおすすめしない。
VSCodeはマイクロソフトが出しているだけあって安定している。どの環境でも言えることだが、使いこなすにはそれなりに勉強する必要がある。しばらく使いながら画面の設定や拡張機能など好きなようにカスタマイズしよう。
会社でproxy設定が必要なときは詳しい人にお願いしたほうがよい
会社などのPCでpythonを新たに使い始める際に、pipで新しいライブラリをインストールするときやAPI, scrapingを試したりするときなど、proxyエラーがでるかもしれない。このときにはproxyの設定が必要になる。まずは会社のシステム担当者に聞いてみよう。ところが会社の規模にかかわらず、proxyに詳しい人がいないことがある。自力でなんとかできないこともないが、初心者にはおすすめしない。詳しい人をなんとか探して当たってみた方がいいと思う。
一番大切なのはやる気と情熱、自分である程度の量を書くこと
プログラミングは、文系理系を問わない。学歴も問わない。年齢や性別も問わない。基礎的な論理がわかる必要はある。しかし、一番重要なのはやる気と情熱である。学校や教室で受け身で教わっただけではなく自らある程度の量を書かないと書けるようにはならない。「Pythonは簡単だよ、誰でもできるよ」とは言わない。他のいくつかの言語よりは簡単なだけである。しかし、Pythonでプログラムを書く楽しさを知る人が増えたらいいなと願っている。