今回は「Python」を学習することでいったい何ができるのか?という疑問にお答えしていこうと思います。
目次
そもそもプログラミングとは?
そもそもプログラミングとはなにか?
簡単に言うと「コンピューターが何をどう処理するかの手順を書くこと」を言います。
なので、皆さんの身の回りでなんとなく使われている、ものなどが動く仕組みには「プログラミング」という技術が使われているんです。
プログラミング言語「Python」でできること
ではそんな数あるプログラミング言語の中でも最近人気が出てきている「Python」でできることを紹介します。
私もプログラミングをはじめてしばらくしてから、いろいろなプログラミング言語も勉強したいと思った時に、どう選んだかというと「まず何をつくりたいか」という観点から選びました。
みなさんが同じように悩んでいる時にこの記事をみて、Pythonでは何ができるのかを理解してPythonを勉強するきっかけになれば嬉しいです。
前置きが長くなってしまいましたが、早速紹介します。
ざっくり分けると以下になります。
・Excelなどの代わりに自動で行うデータ処理や分析
・自動でWebサイトのデータを収集する
・機械学習やディープラーニングの最適化
できることはまだまだありますが、大まかに分けるとこんな感じです。
順番に詳しく説明します。
PythonでWebサービスやWebアプリケーションの制作
まずはこれですね。
「WebサービスやWebアプリケーション」
みなさんにとって一番身近にあるのではないでしょうか。
特に有名なところでいうと、
・DropBox
があります。めちゃくちゃ有名ですよね。
「Python」でこんな世界的に有名なサービスが作れると考えるとそれだけでワクワクしますね。
実際に私もそうでした。
PythonでExcelなどの代わりに自動で行うデータ処理や分析
例えばExcel(エクセル)でデータの整理やグラフを表示したりすることがよくあると思います。そんな時に、同じExcelの処理を毎回毎回、ずっと同じことを繰り返すことがありますよね。
実際に私が会社勤めをしていた頃はデータ入力で同じ動作を毎日していたことがありました。
そんな場合に、PythonやVBAなどのプログラムを使い、Excelで行う操作を「自動化」しておけば同じ処理を何度も何度も自分の手で行う必要がなくなります。
最初に一度プログラミングさえしておけばデータの集計や余計なデータの削除、シートの結合やグラフの描画などがすべて自動で完結させられることができます。
Pythonで自動でWebサイトのデータを収集する
Webサイトの情報を取得するときにも「Python」は便利です。
サイトに記載されている情報を自動で取得し、そのデータをCSVファイルやエクセルのデータとして出力することもできます。
これは「Webスクレイピング」と呼ばれる技術で、例えば定期的にチェックしているWebサイトのデータを取ってくることで、わざわざ自分でアクセスする手間を省くことができます 。
Webサイトの更新情報を自動でチェックさせたり、定期的に情報を取得して保存しておいたりすることができます。
ここでPythonを使ったWebサイトの情報を取得する簡単な方法をご紹介します。
たったこれだけでこのサイトの情報を取得できるんです。
あ、もちろん細かい情報の取得にはもう少し手を加えてやる必要がありますが、
Pythonで機械学習やディープラーニングの最適化
データの分析や操作をするだけではなく、機械学習や最適化をすることもできます。
ディープラーニングとは?
ディープラーニングの説明をする前に「AI」について軽く触れておきます。
「AI」とはコンピュータに人間の行動を模倣させることです。機械学習はAIのサブセット(一部)で、コンピュータがデータに基づき物事を判定するための技術です。
そして「ディープラーニング」とは機械学習の実装の一つで、コンピュータが何らかの複雑な問題を解決するための技術となります。
「ディープラーニング」にPythonがよく利用されるのはなぜか?
私が個人的に思う「ディープラーニング」にPythonがよく使われている理由をお話します。
いくつかあるのですが、今回は特に特筆すべき3つの要素を紹介します。
・教育機関でよく利用されるため
・CやC++のプログラムを呼び出せるため
上記が一番の理由ではないでしょうか。
まとめ
今回はプログラミング言語「Python」でできること、をご紹介しました。
Pythonでは本当に幅広いことが便利に実装することができるので、個人的にもとてもおすすめです!
もちろん他の言語も便利で画期的なものもあるので、冒頭でもお話した「自分が作りたいもの」をしっかり考えてそれを考慮してプログラミング言語を選んで貰えればと思います。