今回は改めて、Pythonを学習すると何ができるのかについて解説していきます。
よくネットや人から
プログラミング始めるならまずはPythonを勉強するといいよ
的な事をよく聞くと思いますが、プログラミング言語はPython以外にも山程あって、それぞれ特徴や得意分野が違ってきます。
故に自分のやりたいこと、目的に合った言語選びをしないと自分の時間を無駄にしてしまう可能性があるのでこの記事を最後読んでみてPythonでできること、できないことを是非把握してもらえると嬉しいです。
その後に自分のPC(Windows, Mac)上でPythonを実行するための開発環境を構築していきます。
初学者にわかりやすい様に説明していきますので、この記事を読みながら実際に手を動かして開発環境をつくってみてください。
目次
そもそもPythonとは
Pythonは1991年にオランダ人のプログラマー、グイド・ヴァンロッサム氏によって開発されたオープンソースのプログラミング言語です。
名前の由来はイギリスの「空飛ぶモンティ・パイソン」というコメディ番組が由来だと言われています。
Pythonの言語的な特徴としては下記が挙げられます
- 動的型付け言語…型を指定しなくても自動で解釈してくれる
- オフサイドルール…プログラムの塊をカッコ等ではなく、字下げ(インデント)で表現する
- シンプルな文法…初心者にも直感的で理解しやすい
- ライブラリが非常に豊富…自分で全部プログラムを書かなくても、他の開発者が作ってくれたコードが使える
これらの特徴からプログラミング初心者や非プログラマーの方が最初に習得してみる言語として非常におすすめになります。
Pythonを実際に採用している有名な企業の一例としては、
- Youtube
- NASA
- DropBox
など錚々たる面々です。この事からもPythonの実績と信頼性は理解してもらえるのではないでしょうか。
Pythonでできること
Pythonは非常に汎用性が高い言語ですので、活用される場面は山程あります。
その中でも特に選ばれる分野は主に下記の通りです。
- 業務自動化、効率化
- Webアプリ開発
- 機械学習
- データサイエンス(分析)
業務自動化、効率化
Pythonには日々の仕事の業務を効率化、自動化するのに適したライブラリが他言語と比べて非常に豊富です。
自動化の代表例を挙げると
- エクセル、スプレッドシートの自動入力
- ブラウザの自動操作
- 自動メール送信
- Webサイト上の情報を決まった時間に自動取得
などがあります。
あなたの会社にも例の様な単純作業のルーティンワークなどはありませんか?
Pythonにそれらを任せてしまえばその分他のやるべき事に時間を使う事ができ、効率よく仕事をこなせるはずです。
プログラミング始めたての方にも案外簡単に実装できてしまうのでまず最初にこの自動化、効率化ツール開発に取り組んで見るのがおすすめです。
Webアプリ開発
PythonにはWebアプリケーションを開発できるWebフレームワークも豊富に存在します。
Webフレームワークとは、Webアプリに必要な機能をまとめて提供してくれる骨組みのようなものです。
フレームワークを使用することで自分が一からアプリを作るよりも格段に開発効率を上げることができ、メンテナンス性、セキュリティ的にも大きなメリットを得られます。
例えばアプリに不可欠なログイン機能は自分で実装しようとすると結構工数がかかってますし、セキュリティ的にも穴が開きやすく不安要素が多い実装になりがちです。
それがフレームワークを使用すると既に機能として自前で用意してくれているので短時間で実装できてしまいます。
セキュリティについても世界中の開発者によって日々改善されているので、その点も安心です。
よく使用される代表的なPython製フレームワークとしては「Django」と「Flask」が挙げられます。
Djangoに関しては「【Python】Django3.2でHelloWorldまでを初学者向けに丁寧に解説していく!」で初心者向けに基礎を解説しているのでよければそちらを参考にしてみてください。
【Python】Django3.2でHelloWorldまでを初学者向けに丁寧に解説していく!
Djangoはフルスタックフレームワークと称されていて、大規模なアプリ開発に向いています。
その名の通りフルスタックにWebアプリに必要な機能を全般揃えてくれている豪華なフレームワークです。
一方Flaskはマイクロフレームワークと称されていて、中規模から小規模のアプリ開発に向いています。
最初は必要最小限の機能で必要に応じて機能を追加してくスタイルの軽快なフレームワークです。
下記はこれらを実際に採用している有名企業です。
- Django … YouTube, Instagram, NASA, Mozilla
- Flask … Netflix, Reddit, Zillow
他にも特徴が違うフレームワークが多数存在していて、目的や用途、規模感に応じて柔軟に選択することができるのもPythonの魅力です。
機械学習
機械学習とは、人間が持っている「学習能力」をコンピュータで再現する技術、手法のことです。
その機械学習分野は特にPythonが利用される場面が多いです。
機械学習をする上で使われるプログラミング言語は他にもJavaやC言語、Rなどがありますが、Pythonはそれらの言語より汎用的、かつライブラリが豊富、コミュニティが活発といった理由で特に選ばれています。
活用例で言うと
- 過去の株や為替の値動きを学習させて予測させる
- 競馬の過去レースデータを学習させて勝つ馬を予測させる
- 人間の顔データを大量に学習させて映像から顔を検出する
- 車の自動運転
など様々です。
最近のニュースだと機械学習によって実装された囲碁のAIがプロの棋士に勝利するなど、どんどん学習の精度も高まってきていています。
今後もこの分野が注目され続けるのと平行してPythonにも注目が集まるでしょう。
データサイエンス(分析)
データサイエンスとは、統計学や情報工学に基づいて様々な情報から有意義な情報を導き出す手法です。
近年はコンピュータや技術の発展によってインターネット上から大量のデータを収集できるようになりました。
それらのビッグデータが小売、広告、自動車、物流、エネルギー、医療、金融、教育、エンターテインメントなどITに限らず多くの産業に活用されています。
Pythonはそのデータサイエンスや分析分野でも特に選ばれていて、数値計算や、グラフ描画、データ収集などの分析に必要なプロセス全般を単体でこなすことができます。
ここでもPythonの汎用性の高さがよくわかります。
具体例を挙げると
- 消費者の購買データから最適な仕入れ商品を分析する
- アプリ会員のデータを分析して売上につながる最適なクーポンを発行する
- 過去例年の天気データを分析して明日の天気を予測する
- ブログのアナリティクスを分析して最適な記事を投稿する
などです。
データサイエンスは先に紹介した機械学習と一緒に活用される例が多いので一緒に学習してみるのがいいと思います。
データ分析のつかみを学習してみたい人は「【Python初心者向け】形態素解析とマルコフ連鎖を使ってひろゆきっぽい文章を生成してみた」で形態素解析、マルコフ連鎖を題材に記事を書いているのでよければそちらを参考にしてみてください。
【Python初心者向け】形態素解析とマルコフ連鎖を使ってひろゆきっぽい文章を生成してみた
インストール方法
ここからはインストール方法を解説していきます。
説明にはMacの画面を使用しますが、Windowsでも同じ手順でインストールできますので置き換えて読み進めてみてください。
下記公式サイトにアクセスして「Downloads」→「Downloads for MacOS」をクリックします。
「Downloads for MacOS」の文字はお使いのOSによって自動で表示されます。
すると、「python-{バージョン}-macos11.pkg」の様なファイルがPCにダウンロードされます。
Windowsだと「python-{バージョン}-amd64.exe」みたいなファイルになっていると思います。
先程ダウンロードしたファイルを起動して「続ける」を押して次に進みます。
特に問題ないので「続ける」を押してください。
これも特に問題ないので「続ける」でokです。
するとポップアップが出てくるので「同意する」で大丈夫です。
Pythonのインストール先を選択します。今回例として「Macintosh HD」を選択しました。
選択したら「続ける」を押してください。
すると確認画面が出るので「インストール」を押します。
インストールが始まり、「インストールが完了しました。」の画面になれば、「閉じる」を押して終了です。
ターミナルを新規で開いて「python -V」コマンドでインストールしたPythonのバージョンが表示されればインストールは正常に完了しています。
もしここで「Python 2.x」等が表示されてPython3系に切り替わっていなければ「Python3.xをインストールしたのに「python -V」で2.xから切り替わらない時の対処法」を参考にしてみてください。
Python3.xをインストールしたのに「python -V」で2.xから切り替わらない時の対処法
念の為「python3」と叩いて対話モードでPythonを起動できるかも確認しておきましょう。
この様に表示されればokです。
対話モードから抜けるには「exit()」と入力しましょう。
おわりに
Pythonを学習すると何ができるのか理解してもらえましたか?
これでよく初めてのプログラミング学習にPythonがおすすめされる理由が体系的に伝わったかと思います。
この記事を読んで自分がやりたいことはPythonで実現できそうだと思ったら是非学習してみてください。
絶対後悔しないはずです。
学習の参考になる技術書については「【必読】Pythonで仕事を取りたければ絶対読んでおきたいおすすめ技術書を紹介!」の記事で紹介していますのでよければ参考にしてください。
【必読】Pythonで仕事を取りたければ絶対読んでおきたいおすすめ技術書を紹介!
このブログでは他にも初心者向けにエンジニアに関する記事やPythonに関する記事を投稿しているので良ければそちらも読んでみてください。
【実体験】未経験エンジニアはとりあえずクラウドソーシングをやってみるといい話【徹底考察】プログラミングをしながら音楽を聞くのはあり?なし?【結論:全然ありです】