最近プログラミングに興味が出てきて、ちょくちょく情報収集をしているKIDです。
今回は、プログラミング言語の中でも人気言語であるPythonにフォーカスして、なぜ人気なのか、どんなことが実現できるのかをまとめていきたいと思います。
参考サイトは以下の通りです:
最近話題の言語【Python】でできる10のこと | CodeCampus
PythonやRを用いたアルゴリズム取引・株価分析まとめ | かものはしの分析ブログ
pythonが人気な理由
pythonは「コードの書きやすさ、読みやすさ」が重視された言語なので、文法が簡単・機能もシンプルなのです。ライブラリ※がたくさんあり、欲しいプログラムがすぐに利用できる環境が整っているのも◎。
※ライブラリとは、多くのアプリケーションで利用するためにまとめられたプログラム集のこと。
また、「機械学習」、「データ解析」の分野で注目を浴びている言語なので、将来性が高いというところも大きなポイントでしょう。
加えて、高い年収が狙えることも注目です。IEEE Spectrumが2017年に集計したデータでは、pythonエンジニアはプログラミング言語の中でもっとも年収が高いという調査結果も出ています。
Pythonのプログラミングでできること
pythonでできることはIoT、Webスクレイピング、文書の自動生成、画像の自動収集、機械学習、Webアプリの作成、株価の予想、ブロックチェーンやフィンテックサービスの開発など多岐に渡りますが、私が特に興味を持ったのはWebスクレイピング、Webアプリの作成、株価の予想、ブロックチェーンやフィンテックサービスの開発です。
Webスクレイピング
Webスクレイピングとは、Webサイトからデータを得て、任意の情報を抽出することをいいます。
PythonにはBeautiful Soupというライブラリが存在し、これを用いることで簡単にWebスクレイピングを行うことができます。
例えば、あなたがとあるHPを管理していたとしましょう。
そのHPには「https://python2/~」というリンクが無数のページに埋め込まれていますが、この度リンク先を「https://python3/~」に変更することになりました。
「https://python2/~」というリンクが、どのページの、どの箇所に、何件存在するか分かりますでしょうか?
規模の大きいHPほど、手作業で行うと無駄に労力を費やすのと、ミスも生まれます。
そんな時にWebスクレイピングを用いて管理しているHPの全てを解析することで、「https://python2/~」が存在する箇所洗い出すことができます。
(WebCampより引用)
Twitterから自身のツイートを一覧で抽出したり、Yahooファイナンスのような金融情報を表示しているWebサイトを解析したりもできるみたいです。
Webアプリ制作
pythonが使われている有名Webサービスとして、「YouTube」、「Instagram」、「Dropbox」、「Pinterest」等があります。
YouTubeに関して言えば、Pythonの開発者であるGuido van Rossum氏は2005年Googleの社員である背景から、Google社とPythonは密接な関係があります(YouTubeはGoogleの子会社)。
今ではGoogle社のオフィシャルプログラミング言語はPythonと言って良いほどです。
株価の予想
ランダムフォレストという手法で予測していくのがpythonを使った分析の中で一般的なようです。
これに関連して、FXの自動売買プログラム(bot)も作ってみたいですね。
ブロックチェーン
ブロックチェーンとは、「非中央集権型ネットワークを採用した時系列に並べられたハッシュ値の塊」です。 pythonのコードを書くことでブロックチェーンの開発までできてしまうんですね。