こんにちは。谷口です。
プログラミング初心者でPythonに興味がある方、勉強中の方は多いですが、最近は既にプログラミングができる方から「少し難しい問題を解きたい」「中・上級者向けの学習コンテンツがほしい」と言われることが増えてきました。
そこで今回は
・すでにに仕事や授業でプログラミングを始めている方
・勉強をして「もう初心者レベルは脱出したかな?」という方
・もっと歯ごたえのあるプログラミング問題が解きたい方
という方々におすすめの、Python初心者が中級者くらいにレベルアップできるようなサイトや書籍をご紹介します。
Webアプリ開発入門 Django編
PythonのWebアプリケーションフレームワークを使えば自分で好きなようにWebサービスやアプリを作ることができます。コードは多少書けるようになったけど、まだ形あるものを作ったことはない…という方は、「Webアプリ開発入門 Django編」でランチマップアプリの作り方が学べます。
Djangoは、Web開発に便利なルーティング、MVC、ORマッパー、ジェネレータといった機能が含まれたWebアプリケーションフレームワークです。機能が多く、Webアプリ開発が素早くできるため、非常に人気のあるフレームワークです。
Python×AI・機械学習入門編
Pythonは機械学習の領域でも人気の高い言語です。初心者でもPython×AI・機械学習入門編の内容で、機械学習ライブラリを使った画像や音声の分類ができるようになります。
1: 機械学習の概要を知ろう
機械学習の概要と、Pythonの機械学習ツールを使った画像の分類手法が学べます。
2: 話者認識をしよう
paizaラーニングに登場する声優の方々の音声データを使って、どれが誰の声なのか話者を認識するAIを制作します。
paizaのスキルチェック問題
paizaでは、PythonはもちろんJava、Ruby、PHP、C、C++、C#、JavaScriptなど多数の主要言語に対応したスキルチェック問題を公開しています。
プログラミング問題を解いた結果によりS・A・B・C・D・Eの6段階で自分のスキルのランクが分かります。問題はレベルごとに分かれており、初心者から上級者の方まで挑戦していただけますので
- 自分のプログラミングスキルを客観的に知りたい
- とにかくたくさん問題が解きたい
- コードを書けるようになってきたので少し難しい問題に挑戦してみたい
という方はぜひチャレンジしてみてください。
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング
paizaラーニングのPython入門編や公式チュートリアルなどをやったうえで「実際にPythonでいろいろやってみたい」「Pythonの使い道を知りたい」という人向けの、いわゆる自動化処理に特化した書籍です。
Pythonの基本についても書かれているので、多少プログラミング経験があって早く実践したい人が「実際に手を動かしながらPythonの実践を学ぶ」ことができます。
Pythonチュートリアルとしては、やや足りない部分もあるため、「ちゃんと体系的に学びたい」という人は、もっと網羅されているMIT教科書やエキスパートPythonをあわせて読むとよいでしょう。
問題解決のPythonプログラミング ―数学パズルで鍛えるアルゴリズム
少なくともPythonの公式チュートリアルぐらいは済んでいて、既にある程度はPythonを使えることが前提の内容の書籍です。基本はプログラミング問題が出題されて、それをPythonで解く方法を考える…という流れの構成になっています。課題に対して「解決するにはどうすればいいんだろう?」といった考え方を学ぶ書籍です。
エキスパートPythonプログラミング
Pythonに関して、結構踏み込んだマニアックな領域まで網羅されていて、なおかつ実践的な内容の書籍です。
具体的には、序盤では構文のベストプラクティス、よいクラスの書き方、命名規則などコーディング規約的な内容がメインとなっています。
中盤以降はPythonを使ったパッケージの作り方やデプロイ方法、コードの管理の仕方、ドキュメントの書き方やテスト駆動開発などに関する実践的な解説があります。
あとは細かい最適化周りや並列処理、C言語やC++のコードをPythonから呼び出す方法など、結構コアな部分まで抑えているので、Pythonでできることを網羅したい人におすすめできる一冊です。
逆に、初心者がいきなりこの書籍に手を出すとちょっとハードルが高いかと思います。paizaラーニングのPython入門編や公式チュートリアルなどをやったうえで、ある程度初歩的な内容を理解して「もう入門編は抜け出せるかな?」という状態になった人が、さらに実践的な内容に踏み込むために読むといいと思います。
まとめ
というわけで、Python初心者が中級者くらいにレベルアップできるようなサイトや書籍をご紹介しました。
「まずはPythonの使い方を学びたい!」という方は、paizaラーニングのPython入門編から初めて、そこからWeb開発や機械学習など、興味のある分野の学習を広げていくと、無理なく学べるかと思います。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら