今では仕事でPythonを毎日書いていますが、Pythonに入門した当時は勉強方法で苦労しました。
ということで、今回はPythonを独学した時に、勉強した内容や使った書籍・サービスについて紹介します。
初心者からでも挫折せずに、現場で活躍できるように検討した勉強方法です
PythonはWebアプリの開発やディープ・ラーニングなど、幅広い用途で使える人気言語です。習得すれば、活躍の場が増えて、年収も高くなるので、ぜひとも身につけましょう。
Pythonの入門レベルの勉強方法
まずは、初めてPythonを勉強する時の勉強内容と方法を紹介します。
Pythonの入門レベルでない場合は、飛ばして読んで下さい。
- Pythonの基本文法を理解する
- 変数とデータ型を理解する
- ライブラリの利用方法を理解する
- 関数・クラスを理解する
- 例外処理を理解する
この内容を理解すると、Pythonでプログラミングができます。
私は会社で社員やパートナーの採用の経験がありますが、最低限このレベルの技術力なら、採用の可能性があります。
今回、プログラミングを初めて学ぶなら、最初はすっごく簡単な書籍を読むのが近道です。
以下の書籍はプログラミング言語にふりがながついているので、超初心者でも楽に読み進めることができます。
超初心者なら、まずはこの一冊から
もし、他のプログラミング言語の経験があるなら、以下の書籍をおすすめします。
初心者レベルから始まり、現場で役に立つ知識もカバーされています。
他の言語の経験があるなら、この一冊から
Udemyなら、現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
- 分かりやすい言葉や具体的なコードで工夫して説明しているので、初心者でも理解できる。
- 初心者でも挫折しないように、丁寧に詳しく手順を説明している。
- 講座内で取り扱う課題は実践的なものが多く、書籍では身につかない応用力を身につけられる。
- 情報量が多いのに、講座の進み方が速いので、一回では理解が追いつかない。
- 課題の難易度が高すぎる場合がある。
- 講師のアクセントが特殊で、聞き取りにくいと感じたことがある。
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
その他、Pythonの基本的な書き方については、以下の記事でも分かりやすく解説しています。
Pythonで単体テストをしたい場合の勉強方法
仕事の場合、コードを書いて終了とはいかず、テストでコードの正しさを検証をします。これは品質を担保するために、非常に重要な工程ですが、時間がかかります。
その際に、テストコードが書けたら、以下のようなメリットがあります。
メリット | デメリット |
---|---|
一度作れば、自動テストができて、作業量が激減する リファクタリング(一度書いたコードの修正)がしやすくなり、保守性が上がる デグレーション(修正時に、意図しない不具合が発生)を防げるので、かっこ悪い謝罪が少なくなる | 学習コストが高い テストコードを書く工数が余計にかかる テストしやすいように、コードを修正する場合がある |
勉強は大変ですが、現場で活躍できる大きな武器になります。初心者レベルを脱したいなら、絶対に習得すべきスキルです。
単体テストのやり方は、以下の記事で詳しく記載しています。
以下は、Python標準のテストモジュールであるunittestの使い方
以下は、unittestと互換性があり、より書きやすいpytestの使い方
書籍なら、以下がおすすめ
書籍で唯一、Pythonの単体テストが勉強できる評判の技術書。第2版が出て、更にパワーアップしました。
Pythonでディープ・ラーニングをしたい場合の勉強方法
ディープ・ラーニングを実装したいなら、Pythonがスタンダードです。
ディープ・ラーニングを理解するなら、以下を最低限理解しましょう。
- ディープ・ラーニングに関するアルゴリズムの理解
- ディープ・ラーニングに関する数学知識の理解
ディープ・ラーニングに関するアルゴリズムの理解
ディープ・ラーニングのアルゴリズムを理解しないと、自分がやりたいことの実現方法が分かりません。そのため、初心者は「どのアルゴリズムを利用したら、何ができるか」というユースケースをまずは覚えましょう。
例えば、以下のような感じです。
- 画像認識がしたいなら、CNNを利用する
- 自然言語処理や時系列なら、LSTMを利用する
- 実在しない画像や動画をAIに描かせたいなら、GANを利用する
このようにあなたがやりたいことによって、利用するアルゴリズムが違うので、それぞれの特徴を理解する必要があります。
私の経験上、「理解するなら、コードを写経する」のが一番です。コードを書き、動かすことで、理解度がグーンと高まります。
以下に、ディープ・ラーニングの実装方法を解説した記事がありますので、よろしければどうぞ。
全てサンプルコード付きです
ディープ・ラーニングに関する数学知識の理解
ある程度、アルゴリズムに慣れて、実装できるなら、次は数学知識も身につけましょう。
勉強方法については、動画で勉強できるUdemy
私も書籍は全く頭に入らず、お金の無駄でした
初心者の時に勉強して分かりやすかった講座は以下にまとめています。
Pythonで画像処理をしたい場合の勉強方法
Pythonで画像処理をする場合は、OpenCVがおすすめです。
OpenCVを使えば、以下のようなことが簡単に実現できます。
- 画像の色味を変更したり、回転したりできる
- 後から画像の解像度を変更できる
- 動画を静止画に変換できる
- 学習モデルを用意しなくても、人物検出やモザイク加工ができる
- 特徴量マッチングにより、2枚の画像が似ているか判断できる
私はOpenCVで、Webサイトのサムネイル作成や、ディープ・ラーニングの前処理として利用します。
OpenCVを使えば、複雑な画像処理も簡単に実現できるので、ぜひとも勉強して身につけたいです。
書籍なら、以下が詳しくておすすめです
Udemy
\ 画像処理のプロになるなら /
30日間以内なら、返金可能
Pythonの勉強におすすめのサービスは?
ここからは、Pythonの勉強におすすめのサービスについてです。
どれも私が愛用しているサービスです。
Udemy
Udemy
初心者だけではなく、中級者・上級者向けの講座もたくさん揃っており、Python向けの講座もたくさんあります。
- 学習コンテンツ量が多いので、未経験から現場で活躍するレベルまで幅広い
- 疲れていても、動画で楽に学習出来る
- 疑問を気軽に聞けるQAシステムがあり、初心者でも安心
- セールが多数開催されるので、Udemy
の料金は技術書よりも安い場合がある - 30日以内なら、返金も可能
まとめると、「動画で楽に勉強が出来て、質問も出来て、しかも安い」という点が、Udemy
最近は私も、いきなり書籍を買わずに、Udemyで勉強したい技術の概要と使い方、できることを確認します。
どんな講座があるかは、こちら「Udemy
\ 30日以内なら、返金あり! /
Udemyのサービス内容やおすすめ理由の詳細は以下の記事にまとめています。
PyQ
- 初心者が挫折しやすい、面倒な環境構築が不要
- 入門レベル〜上級レベルまで、Pythonでできることが幅広くカバーされている
- 手を動かしながら学べるので、一人で書ける実力がつく
- 手を動かす必要があるので、勉強する場所を選ぶ
- サポートが手厚くない
PyQ
速く習得したいなら、実際に手を動かして、プログラムを書くのが必須です。しかし、環境構築やテキスト選びなど、勉強前に課題にぶち当たり、スタートラインに立つ前に諦めがちです。
\ PyQなら挫折せずに、勉強が継続できる /
詳しいサービス内容や口コミは、公式ページ
PyQを実際に使った感想については、以下にまとめています。
Pythonの勉強方法について、よくある質問
ここからは、Pythonの勉強方法について、よくある質問に回答します。
Pythonの勉強方法まとめ
初心者が現場で活躍するまでのPython勉強方法を解説しました。
勉強時間があるのに、挫折する人は、何を勉強したら良いかが分からない人だと思います。
勉強の習慣化の先にスキルアップが待っていて、その先にキャリアアップがあります。頑張りましょう。
コメント