はじめまして。
マーケティングチームに所属している小林です。
未来電子にインターンとして応募して2か月が経とうとしています。
最初に学ぶプログラミング言語を選定する際、どの言語でどんなことができるかを知りたいと強く思うでしょう。
私自身どの言語がどういった分野に使われるかあまり理解していませんでした。
しかしプログラミングの学習が進むにつれ、少しずつ分かってきました。
今回はタイトルの通り、Pythonの使い道について解説します。
■WEBアプリ開発
まさに未来電子がPythonを用いてWEBアプリを開発しています。
WEBアプリとはブラウザ(Chrome, Microsoft Edge, Safari, Firefoxなど)で動くアプリのことです。
例えば、AmazonやYouTube、ブラウザ版のツイッターなどがそれにあたります。
このWEBアプリを作る言語としてPythonが使えます。
PythonにはWEBアプリを作るときに便利な「フレームワーク」というものが存在します。
これは簡単にWEBアプリが作れるように便利な機能をいろいろ用意したものです。
他の言語では作れないのか?というとそんなことはありません。
他にはRuby、PHPが人気です。
これらの言語もPythonと同じように開発することができます。
ではわざわざPythonを選ぶ必要性とは何なのか?
実は他にもPythonには得意分野があります。
■機械学習
機械学習は近年爆発的な人気を得ていて、さまざまなところで話題にされています。
AIと呼んだ方がわかりやすいかもしれません。
大量のデータを学習し、その経験から提示された問題にそれらしき予測を出力するものです。
この機械学習の分野にPythonが強いということが現在のPythonが急成長している一因となっています。
先ほど紹介したフレームワークが機械学習の分野においても便利なものがいろいろあるのです。
TesorFlow、Pytorch、Chainerなどが挙げられます。
これらのフレームワークが非常に強力で、機械学習は多くの場合Pythonで行われます。
■科学計算
以上2つがPythonの主な用途ですが、他にもできることはあります。
その1つが科学計算です。
Pythonは高度な数学を用いたり、膨大なデータを処理するときにも役立ちます。
ここでも「ライブラリ」という便利なツールが役立ちます。
プログラムは何度も同じような処理を行うときがあります。
そのときに全てプログラムを書いていては面倒なのである程度あらかじめ作ったパーツが用意されています。
それがライブラリです。
*NumPy
NumPyはベクトル計算、行列計算に使えるライブラリです。
機械学習の実装でも使うことがあります。
*scipy
scipyは幅広い科学計算ができます。
NumPyでもできる計算もありますができる計算の幅広さはscipyが上です。
行列の計算のほか、信号処理やフーリエ変換、積分なども実装できます。
*matplotlib
matplotlibはデータを可視化できるライブラリです。
縦軸と横軸を自由に設定してグラフを作ることができます。
例えば、sin波を描いたり、実験結果を散布図にプロットすることもできます。
これが使えればExcelなどを使わなくても実験のレポートに使うグラフヲ作成することもできます。
■まとめ
Pythonの用途について解説してきましたがいかがでしたでしょうか?
Pythonは最初に学ぶ言語としても学びやすく、実用性にも富んだ言語です。
もし学ぶ言語に迷われているなら、さらにプログラマーとして将来働きたいならなおさら、Pythonを勉強するとよいでしょう。