皆さん、こんにちは。
ブタきむちは非IT業界のエンジニアです。日々Pythonプログラミングを勉強し皆さんに有益な情報を与えることを目指しています。
ブタきむち自身、最初はプログラミングなんてやったこともなかったです。
でも「AI」というワードがここ数年で注目されるようになり、ブタきむちもやってみたいと思い、Pythonを勉強して機械学習プログラムをやりたい!と思い、現在に至るのです。
そこで、ここではPython初心者だけど「これからPythonプログラムをやりたい」「AIプログラミングに挑戦したい」って思う方向けに、
Pythonの勉強法とおススメの教材をレベル別に紹介したいと思います。
1.はじめに(自分のレベルを知る)
ブタきむちも経験あるのですが、初心者だと「どうやって勉強したらいいのだろう。」「どんな教材がいいのか」「参考書は買うべきか」など色々と悩みがあると思います。
まず上記の内容を考える前に、自分がレベルがどの程度なのかを把握することで、おのずと勉強方法が決まってきます。
以下のフロー図をご覧ください。
※ 注意 ※
あくまで個人でPythonプログラミングを行う上での初心者、中級者、上級者の区分なので、企業でゴリゴリにプログラミングをされている方、開発をされている方、ベテランの方はフローを見ても当てはまらない可能性があります。
こんな簡単なフロー図で逆にわかりずらいですかね。でもこれで何となくでいいので、自分が①・②・③のどれに該当するか決めてください。
それでは①から順番に紹介していきましょう。
2.①初心者の方へ
2.1 WEB上でPythonを学ぶ(Progate)
Pythonの基礎をしっかり固めるには、必ずしもPythonのテキストを購入する必要はありません。
WEB上やスマホでも簡単にPythonを学ぶことが可能です。
それが”Progate”というサイトになります。
まずProgateは無料でPythonの基礎が学ぶことができます。何よりかなり優しいコードの説明スライドが用意されているので、
このスライドを着実に抑えることで基礎を抑えることができます。
実際に演習の一部が以下の画像になります。お題に沿って自分の手でコードを入力し実行するというサイクルを丁寧に簡単に実行することができるので非常におススメです。
ちなみにProgateさんは、スマホアプリとしても配信しているので空いた時間で簡単にプログラミングを学ぶことができます。
Progateのここがポイント
- Pythonの基礎が自分の手を動かしてプログラムコードを書くことで、習得率が早い
2. Pythonコードの知識が文字だけの説明ではなく、わかりやすいスライドで解説されている(しかも無料!)
2.2 Python初心者用テキスト
次にPython初心者向けのテキストを紹介していきたいと思います。
先程WEB上でPythonを学べるProgateを紹介しましたが、ブタきむちは初心者用のテキスト1冊制覇するのをおススメします。
その理由は教材が一つであると、Pythonプログラムをより体系的にとらえることと知識等が偏ることを防ぎたいからです。
Pythonのテキストばかりやっていても、筆者の主観や学習目的によってプログラムのアプローチも違います。
そのため最低2つぐらいの教材を回して基礎固めをしていくことが、偏りなくPythonプログラムを学ぶコツになると思います。
今回は以下の教材を紹介します。
Pythonスタートブック [増補改訂版]
これはおススメ本です。ブタきむちもこの本からPythonをスタートしました。この本はプログラミングというものがどういうものか、
そしてPythonプログラムを概念的に記述してあるので、かなりわかりやすい!
みんなのPython 第4版
初めてのPython 第3版
3 ②中級者:スラスラプログラムできるを目指して
3.1 WEBでPythonを学ぶ(PyQ)
PyQは本気でPythonを学ぶ人向けに開発されたPython学習ツールです。こちらは、ProgateさんよりよりPythonに特化し実践向けの学習サイトになります。
またPyQは無料ではなく料金が発生します。
(PyQ:https://pyq.jp/)
PyQはWebや機械学習やスクレイピングといったPythonでできることが多く学ぶことができます。
3.2 中級者向けPythonテキストで学ぶ
【おすすめ】実践 Python 3
実践Python3は自分で考えたことを実際にコードにおこすことができる人向けの参考書になります。コーディングのためのデザインパターン、処理速度向上のための並行処理とCython、高レベルなネットワーク処理、そしてグラフィックスについて記載されています。人に見せても恥ずかしくないコードが書けるようになります。
4 ③上級者:自分の好きな分野に挑戦
4.1 機械学習プログラミングを目指して
ここ数年で”AI”というキーワードが急上昇し、多くの分野でAIを用いたサービスや製品が注目されています。プログラミング言語の中でもAIと親しい言語がPythonです。
機械学習ライブラリがPyhonには豊富に存在します。
しかし自分でコーディングして着実に力をつけるために、以下の参考書をおすすめしたいと思います。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
ゼロから作るDeep Learning ❷ ―自然言語処理編
この2冊はブタきむちも一読し機械学習にどんどんハマり、いまはヘルスケア分野で何か機械学習が活かせないか考え中です。
それにPython×機械学習のコードをブタきむちのブログでどんどん発信するために、今でもこの2冊を使って勉強中です。
4.2 Python×Webスクレイピング
PythonによるWebスクレイピング 第2版
5.最後に(これからPythonを始める人へ)
Pythonをこれからスタートする人は以下の2つを大事にしてプログラミングに挑戦してほしいです。
1.初心者の方は、必ず基礎をしっかり固めましょう。
2.初心者の方は、嫌になるほどエラーを出し、エラーを全力で立ち向かいましょう。
何事も基礎なくして自分が作りたいもの、目指したいところには到達できません。
どうやって基礎を固めていくかは本当に個人の自由です。
でもプログラムコードを書く=エラーを生成すると思ってくれていいです。それだけプログラムにはエラーがつきものです。
この時に重要になってくるのは、プログラムの基礎です。エラーに対処するにはそれなりにPythonプログラムの基礎が必要になってくる時があります。
Pythonプログラムをスラスラとプログラムを書くためには、基礎を怠らず、そしてどんどん新たなことに挑戦していく気持が大事です。
すみません、最後は精神論的なものになってしまって。
でもプログラミングを上達させるには、こういったマインドセットも大事ですので、頭の片隅にでも置いておいてください。