こんにちは、MSKです。
組み込みエンジニアなので普段はPythonをメインで使うことはないのですが、本業でも効率化ツールを作ったり、趣味ではデータ分析、Webサーバーやゲームを作ることにPythonを使っています。
僕が読んできた本や見てきた動画、サイトなどで参考になるものを紹介していきたいと思います。
※僕も学習をし続けているので、良いと思えたものがあったら随時紹介していきたいと思います。
動画教材でUdemyをおすすめしているのですが、Udemyは頻繁にセールをやっていて、90%以上OFFなどかなり割引されます。
セールの時に購入されますようにお願いします。
Pythonについてまとめ
どんな言語
1991年にグイド・ヴァンロッサムにより開発された汎用高水準プログラミング言語です。
コーディングしやすく、信頼性を高めることを重視して作られています。
Pythonはインタープリター型と呼ばれる言語です。
インタープリターと呼ばれるソフトが、ソースコードを実行時に機械語に翻訳してくれます。
コンパイラー型(例えばC言語)と違って、コンパイルの手間がかからないので開発が簡単であるという特徴があります。
「空飛ぶモンティ・パイソン」が由来で、ニシキヘビは英語でPythonということもあってニシキヘビがマスコットで使われています。
特徴としてインデントブロックという構造を採用しています。
視覚的にソースコードを把握しやすいというメリットがあります。
オブジェクト指向言語であることも特徴です。
実績など
Pythonが注目されているのは機械学習など人工知能の分野です。
しかし、Webアプリケーションなどでも実績があります。
Webアプリケーションとしての採用実績は、
- YouTube
- Dropbox
です。有名なサービスもPythonで作られています。
Pythonには有名なWebフレームワークの「Django」と「Flask」があり、ある程度簡単にWebアプリケーションを構築できます。
機械学習やデータ分析でPythonは人気です。
その実績としては
- 楽天の物流戦略
- Uberの配車サービス
などがあります。
将来性は?
Githubの「The State of the Octoverse」やStack Overflowの調査結果などからPythonは人気が非常にある言語であることが分かっています。
人気の理由は、今後さらなる発展が見込まれる機械学習やデータ分析の分野でスタンダードな言語であるからです。
Pythonの文法はシンプルで可読性が高いため、他のエンジニアが書いたソースを読むときも比較的読みやすいです。
Kaggleなどをやっていると分かりますが、他人のソースコードをみて分析の方法などを学ぶ際、読みやすいというのはとてもメリットになります。
また、Pythonには他の言語にはない機械学習・データ分析に強いライブラリーがたくさんあります。
たとえば、データを扱うpandasやデータ可視化のmatplotlib、数値演算のnumpy、モデル構築に使用できるscikit-learnなどです。
現時点でも機械学習エンジニアやデータ分析のエンジニアは足りていないと言われています。また、Webアプリケーションなどに機械学習などを組み込みたい場合はWebアプリケーションからPythonに統一するのが普通だと思いますので、機械学習やデータ分析の需要が増えるとそのようなアプリケーションでもPythonの需要は増えてくると思います。
Pythonを始めるおすすめの本・動画教材
Pythonでつくる ゲーム開発 入門講座
僕の場合、新しいプログラミング言語を学ぶ時に文法だけを学んでいくのはつまらないので、ゲームを作りながら学んでいくことがよくあります。
この本はPythonの基本から入ってpygameによるゲーム作成を行います。
ゲーム作ることでPythonでプログラムを組むということが自然と身につきます。
ゲーム作成しながらなので、少しづつ出来上がるゲームをみてモチベーションも下がりづらく初心者の方には良い教材に思えます。
不満な部分があるとすれば、オブジェクト指向に触れてはいるのですが、紹介だけになってしまっているという部分です。
目次は以下のようになっています。
- Pythonのインストール
- Pythonをはじめよう
- プログラミングの基礎を学ぼう
- importの使い方
- CUIでつくるミニゲーム
- GUIの基礎①
- GUIの基礎②
- 本格的なゲーム開発の技術
- 落ち物パズルを作ろう!
- Pygameの使い方
- 本格RPGを作ろう!前編
- 本格RPGを作ろう!後編
- オブジェクト指向プログラミング
この本の続編でもう少し本格的なゲームを作っていく本も出版されています。
Pythonで始める数学の冒険
数学が好きでPythonを始めたい人にはこの本は良い本だと思います。
数学の問題を念頭に置いて、Pythonを使っていくという内容です。
多角形を書いたり、方程式を解くために必要なPythonの基礎を学ぶという内容です。
僕はこの本以外では使ったことがないのですが、グラフや絵を書くためにProcessingというツールを使います。
※僕はあんまり知らないのですが、プロのアート作品の描画などにも使われるツールみたいです。
解いていく問題や作っていく数学的な幾何学模様など数学が好きな人なら楽しいと思える内容です。
ちなみに僕はPythonをだいぶ使っているのでPythonとしては学ぶことはなかったですが、数学好きとして内容はとても面白かったです。
サンプルで出てきた模様などを自分でカスタマイズして娘に見せたら感動されました。
プログラミングに興味をもったみたいです。
目次は以下のようになっています。
- turtleモジュールを使って多角形を描く
- 退屈な計算をリストとループで楽しくしよう
- 条件分岐を使って予想・確認する
- 代数を使った数の変換や保存
- 幾何学で図形を変換する
- 三角関数で振動を作る
- 複素数
- コンピューターグラフィックや方程式の解法に行列を応用する
- クラスを使ったオブジェクトの作成
- 再帰を使ってフラクタルを作る
- セルオートマトン
- 遺伝的アルゴリズムで問題を解く
現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル
UdemyでPythonの講座を受けたことがある人なら必ずと言っていいほど見たことがある講座だと思います。
アメリカの企業Splunkで働かれている現役のエンジニアの酒井さんによるPythonの講座です。
次のような内容が学べます。
- Pythonの文法
- クラスやオブジェクトの基礎
- ファイル操作
- コードスタイル
- データベース・Web開発
- テスト
- 並列化
- インフラ構築
- グラフィック処理
- データ分析
- 非同期処理
など。
Pythonのインストールなど入門的な内容から始まり、Web開発やデータ分析など上級レベルまでが1つになった講座です。
28時間以上のかなりボリューミーな内容になっているのですが、酒井さんの講座はかなりテンポがよく離されるので内容もかなり濃いものになっています。
もうPythonも最初に勉強するなら、この講座だけでよくない?と本当に思っています。
Pythonを勉強するには何見た方がいいと今聞かれると間違いなく、この講座を教えると思います。
酒井さんの他の講座もなかなか面白いものがあるので、興味のある人は見てみてください。(僕もPythonのコースはいくつかみています。)
Webプログラミングのおすすめ本・動画教材
Python Django3 超入門
安定の掌田さんの本です。
基本や使い方を知りたいのであれば、おすすめです。
この本をベースに独自アプリを作っていけると思います。
ただ、デプロイなど本当に大変な部分については一切書いてありません。
目次は以下のようになっています。
- Djangoを使ってみよう
- ビューとテンプレート
- モデルとデータベース
- データベースを使いこなそう
- 本格アプリケーション作りに挑戦!
- Addendum:Python超入門
Djangoの基礎をマスターして、3つのアプリを作ろう!(Django2版/3版)
僕が最初にDjangoを学んだ教材です。
会社でのツール開発にPythonを使っていて、友人から頼まれるWebアプリ開発にもPHPではなく、Pythonを使いたいなと思って購入した講座です。
購入した時はなんとなく良さそうで購入しましたが、かなり当たりの講座でした。
講座の内容は次のようになっています。
- Djangoのバージョンと講義内容につきまして
- はじめに(Django2/3共通)
- フレームワークとは(Django2)
- 開発環境の構築(Django2)
- Hello worldアプリ(Django2)
- Todoアプリ(Django2)
- 社内SNSアプリ(Django2)
- 作成したアプリの公開(Django2/3共通)
- フレームワークとは(Django3)
- 仮想環境の構築(Django3)
- Hello worldアプリ(Django3)
- Todoアプリ(Django3)
- 社内SNSアプリ(Django3)
最後に
Pythonを学ぶためにおすすめの本や動画について紹介してきました。
今後もおすすめできる本や動画などがありましたら、随時更新していきます。
最後までご覧いただき、ありがとうございます。
「Python学習のおすすめ教材を紹介!」でした。