こんにちは、はじめまして。リューさんです。Pythonの勉強方法を大まかな流れで表すと、次のようになります。
- Python初学者向けの技術書を読み、模写コーディングしてみる
- Paizaなどでスキルチェックする
- 実際にシステムなどを開発 or 機械学習やクローリングの道へ
この記事では、「そもそもPythonって?」という話から勉強方法の詳細まで、僕(@Ryu_programs)の経験談を踏まえ、他サイトよりも詳しく、分かりやすくご紹介していきます。
Pythonとは?
Pythonは、最近人気のプログラミング言語の1つで、基本情報処理試験にもCOBOLのかわりに導入されるなど、需要が高まっています。下の記事は僕が一発で基本情報技術者試験に合格した時の再現性の高い勉強方法です。これから受験される方は参考にしてみてください。
また、この表は、Google トレンドで検索したもので、日本におけるPythonというキーワードのweb上での人気度を示しています。この表から、Pythonというキーワードが一年を通して非常に人気であることが分かります。
数値は、特定の地域と期間について、グラフ上の最高値を基準として検索インタレストを相対的に表したものです。100 の場合はそのキーワードの人気度が最も高いことを示し、50 の場合は人気度が半分であることを示します。
Pythonは複雑な処理でもC言語などに比べると簡単に記述することができ、覚えやすいことからプログラミング初学者にも、経験者にもおすすめの言語です。この記事を参考にして、ぜひ学習してみてはどうでしょうか。
実際に、後で紹介するPaizaというサイトのスキルチェックで僕がAランクを取得する時に用いた言語もPythonです。
機械学習をする際にも非常によく使われる言語なので、機械学習をしてみたい方はぜひこの記事を参考に勉強してみてください。
Pythonの勉強方法
Pythonの勉強方法は、最初に述べた通り3ステップに分けられます。ここでは、1ステップずつ説明していきます。すでにPythonの基礎知識を知っている、という方はステップ2かステップ3から読んでみてください。参考になると思います。
- Python初学者向けの技術書を読み、模写コーディングしてみる
- Paizaなどでスキルチェックする
- 実際にシステムなどを開発 or 機械学習やクローリングの道へ
ステップ1
Python初学者向けの技術書を一冊買いましょう。Pythonの技術書と言えば『オライリー』が非常に有名です。ただ、少し難しいかもしれないのでここでは僕のおすすめ本の紹介程度に留めておきます。ステップ3で買うことをお勧めします。
まず、この『入門Python 3』は初心者から中級者、上級者を目指す際に非常に参考になる本です。ただ、入門用にするにはすこし難易度が高いかもしれません。お値段も4000円と高いので、ある程度Pythonの特徴、書き方などを理解したうえで購入しましょう。
価格:4,070円 |
こちらは少し毛色が違う技術書で、例えば Pythonで エクセルの自動化などを行って 、 日々の仕事の中の無駄なことを無くしたい!と思っている人におすすめの本です。ただ、こちらも入門書を買ってから購入することをお勧めします。
退屈なことはPythonにやらせよう ノンプログラマーにもできる自動化処理プログラミング [ Al Sweigart ] 価格:4,070円 |
本の紹介でついつい長くなってしまったのですが、最後に僕がお勧めするPythonの入門書、『みんパイ』を紹介します。実際に僕もこの本でPythonを勉強しました。
価格:2,970円 |
この本は、入門書として必要な基本事項をしっかりと網羅しており、さらに機械学習やデータ処理などにも軽く触れられているので、次に学ぶべきこと、学びたいことを決めるきっかけになるはずです。また、分からないことがあったときの辞書的な使い方もできるので、この本を一通り学習した後もずっと使えるはずです。
この本を購入したら、まず書いてある通りに開発環境を整えましょう。この本は、Anacondaという、本家Pythonのいわゆる特化バージョンをインストールする必要はあるものの、Jupyter Notebookと呼ばれる、Webブラウザ上で動作する機能を用いて実装・実行するので、そこまで難しくありません。
もちろん、将来的にはPython IDEであるPycharmを使うことになったり、多くの仮想環境を用意してプロジェクトごとに管理したり、と難しい環境構築にチャレンジすることになるとは思いますが、最初はPythonに慣れるため、環境構築に慣れるためにJupyter Notebookを使うことをおすすめします。
僕の体験談なのですが、プログラミング初心者だった時にRuby on railsの環境構築でつまずき、挫折した経験があり、環境構築は割と高い壁だと思っています。経験を積めばググることで理解することができるのですが、最初はググっても理解できないことが多いので簡単な環境構築から始めることをお勧めします。
簡単なコードであればPaiza IOで試してみるのもありですね。
環境構築を終えたら、内容を読み、本に書いてあることに従って模写していくだけです。自分の書いたプログラムが思い通りに動作した時は快感ですよ。この本は基本事項が網羅されているので、これだけでステップ2に進むだけの力がつくと思います。
ステップ2
ステップ1で力がついた、Pythonの基礎知識は既に身についている、という人はPaizaに登録してスキルチェックをDランクから淡々とこなしましょう。問題を解いているうちに、どんどん力がついてくるはずです。そうなったらステップ3に進みましょう。
Dランクの問題を全部解く必要はありません。また、最初解くことができなくても落ち込む必要はありません。不安な人や、上のランクにチャレンジしようと思っている人は、レベルアップ問題集も準備されているので、それらをガンガン解いて自信をつけてから挑みましょう。
この処理を実装するために何が必要なのか、どのようにコードを書けばよいのか、直感的に分かるようになってきたらランキングの上位に入ることも出来るはずです。
また、上のランクに上がるとPaiza経由で企業からスカウトが来ることもあります。就職や転職等にも役立つはずなので、是非チャレンジしてみてください。
僕もそろそろスキルチェックのSランクに挑戦するつもりなので、一緒に頑張りましょう。もし、分からないことやつまずいたことなどあれば、僕のTwitterに連絡してください。出来る限りサポートします。
ステップ3
Paizaのスキルチェックで力をつけたら、いよいよステップ3です。なにか開発してみたいものがあれば、関連の技術書を探し、参考にしながら実装してみると良いでしょう。例えば、Webアプリケーションを作成してみたい場合は、フレームワークであるDjangoをお勧めします。
Python Django超入門/掌田津耶乃【1000円以上送料無料】 価格:3,300円 |
世界的に幅広く普及しているインスタも、Djangoを用いて作成されたサービスです。自分でインスタのようなアプリケーションを作ってみる、というのも面白そうですね。ググると、参考になるサイトも多くあるので、調べてみてください。需要があれば、このサイトでも記事を書くかもしれません。
ちなみに、僕はWebクローリング技術を学びました。Webクローリングが学びたい人は以下の本がお勧めです。
Pythonクローリング&スクレイピング[増補改訂版] -データ収集・解析のための実践開発ガイドー [ 加藤 耕太 ] 価格:3,608円 |
Webクローリングは、ホームページ上の情報を収集・加工する技術で、例えば食べログのレストラン名と星の数をデータベースに保存したり、自然言語処理技術も活用することで、Wikipedia上の名詞の数をカウントしたり、といったことが可能です。他にも、好きな女優さんや俳優さんの写真を自動収集するクローラーも作ることができます。
機械学習を行ってみたい場合も同様に、関連する技術書を購入して勉強してみてください。オライリー本を紹介しておきます。
Pythonではじめる機械学習 scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎 [ Andreas C. Muller ] 価格:3,740円 |
まとめ
もし、質問やPythonについて分からないことなどありましたら、僕のTwitter@Ryu_programsまで連絡をください。Twitterでも日々の気づきや情報などを発信していくので、良ければフォロー等もお願いします。