最近話題の言語【Python】でできる10のこと

最近話題の言語【Python】でできる10のこと

プログラミングやITに興味のある方なら『Pythonパイソン』、一度は聞いたことがあるのではないでしょうか?
今回は近年国内で急速に注目度が高まっているプログラミング言語『Python』でできることをご紹介したいと思います。
Pythonを使えるようになると何ができるか、事前に確かめておきたいですよね。 image

目次
  1. 最近話題の言語【Python】でできる10のこと
  2. Pythonとは?
  3. Pythonでできる10のこと
  4. 【できること①】 人工知能ソフトの開発
  5. 【できること②】 IoTの制作
  6. 【できること③】 ロボット制御
  7. 【できること④】 文書作成の自動化
  8. 【できること⑤】 画像データの一括収集
  9. 【できること⑥】 Webアプリ
  10. 【できること⑦】 デスクトップアプリ
  11. 【できること⑧】 マーケティング
  12. 【できること⑨】 競馬や株価の予想
  13. 【できること⑩】 ブロックチェーンやフィンテックの開発
  14. 【できること番外編】
  15. Pythonエンジニアの年収や人気の理由について
  16. まとめ

最近話題の言語【Python】でできる10のこと

できることをご紹介する前に改めてPythonについて確認しておきたいと思います。

Pythonとは?

image

画像出典:Python.org

Pythonは、人工知能ソフトの開発やビッグデータのデータ解析、それからIoTのソフト開発の現場でよく使われるプログラミング言語です。

C++やJavaに比べると簡単な構文でコンパイル不要、そして読みやすく書きやすいという特徴があるため、プログラミング初心者でも安心して取り組める言語として知られています。 例えば、プログラミング普及団体のCode.orgからは17のPythonレッスンが子供向けに公開中です(Code.org全レッスン数172)。

Pythonが、人工知能やデータ解析などでよく使われる理由には、数値解析に強い言語であることが挙げられます。 数値解析に強い理由としては、高速処理系のC言語に基づいて構築されたPythonライブラリのSciPyやNumPyがあるためと言われていますね。

そしてPythonは、特定の企業団体からの影響を受けにくいオープンソースで管理運営されていますので、幅広いジャンルの開発企業から支持されています。その他にもいろいろありますが長くなりますので、以下にPythonについて知っておきたいことを箇条書きで紹介させて頂きますね。

  • GoogleやFacebook、Instagramなどもソフト開発にPythonを採用
  • C/C++と連携可能*
  • MacのOS XやLinuxのUbuntuなどOSでも使われている(Pythonバージョン2が使用)
  • 学習と開発を加速させてくれる豊富なライブラリとパッケージ(パッケージ数117,000)
  • 手軽な開発環境の構築(Anacondaなど)
  • Python管理団体の豊富なキャッシュフロー、財団の資産は約2億円*(参考:Ruby管理団体は300万円程)
  • 豊富な教材とすぐに役立つ、やってみたくなる事例が多い
  • 親切なデバッグ
  • プログラミング未経験者でも楽しめる
【C/C++と連携可能について】
C/C++のコードをPythonプロジェクトに、逆にPythonコードをC/C++プロジェクトに挿入できるので、用途が広がる

Pythonでできる10のこと

Pythonでできることは本当に色々あります。「おっ、これいいかも」「感動〜」的なポシブルもありますが、焦らずにPython学習はじめてくださいね。

【できること①】 人工知能ソフトの開発

image

画像出典:TensorKart: self-driving MarioKart with TensorFlow

Pythonは、人工知能ソフト、中でもディープラーニングや機械学習を用いたソフト開発の標準的なプログラミング言語として有名です。 理由は、ディープラーニングや機械学習のプログラム処理に高度な数値計算が必要となり、そしてコンパイル不要で手早くテストランできる環境が求められることから Pythonがよく使われます。

最近は自動運転車ならぬ「自動マリオカート(ゲーム)*」もPythonで自動運転可能な時代となってきています、ちょっとスゴイですね。 こちらの自動運転マリオカートをはじめ、スーパーマリオなどもコードが公開されていますので、自分でも試してみたいですね。

【できること②】 IoTの制作

IoT、ニュースや新聞でも話題ですよね。プログラミング未経験者からするとIoTって遠い存在のように感じるかもしれませんが、意外と身近なんですよ。それは本屋さんとかで売られている雑誌「日経Linux」や「ラズパイマガジン」で作り方が紹介されているんですね。ラズベリーパイを使って、植木鉢内の水分量を確認するセンサーアプリや水槽の水温をLINEでお知らせしたり、セキュリティーシステムを作ったり。

単にプログラム・コードを書くだけでなく、センサーと連動したりして「リアル」と連想しながら手軽に学べるのはPythonならではといえます。

【できること③】 ロボット制御

ロボット制御というとCやC++、Javaが代表的なプログラミング言語になりますが、Pythonでもロボット制御が行われています。 Pythonの場合、特に教育現場でのロボット制御が有名で、レゴのマインドストリーム EV3もPythonを使って制御することが可能です。 普通マインドストリーム EXV3は、ビジュアル・プログラミング言語でロボット制御しますが、Pythonで制御することでワンランク上の学習ステージに上がることができますね。

【できること④】 文書作成の自動化

例えば、同じ文書を100名の違うかた用に作成する場合、普通宛名を「手」入力で変更してファイルを制作すると思います。 これが200件、300件になるとチョット大変ですよね。 Pythonならこの作業を一瞬で終えることができます。 上記動画を参考にPythonの便利さをイメージしてみてください。

【できること⑤】 画像データの一括収集

特定の画像を一括収集したい時、あなたならどうしますか? 一枚一枚「右クリック → 画像をダウンロード」しますか? Pythonプログラムを使うと一発でたくさんの画像をダウンロードすることができます。 上記動画では Flickr 内の「White Cat」に関する画像を一括ダウンロード。 尚、画像の取り扱いについては各サイトのライセンスに従ってください。

【できること⑥】 Webアプリ

Pythonは、PHPやRuby、Javaのようにサーバーサイドで動くプログラムになります。 PHPに比べると読み書きしやすく、Rubyに比べるとC/C++との相性がよく、Javaに比べると記述量が少なく、コンパイル不要とあってPythonでWebアプリを開発する事例も多数存在。

【Pythonを使って開発されているWebアプリの事例】

  • YouTube
  • Instagram
  • Quora
  • Reddit
  • DropBox

またPythonでWebアプリを開発する際は、Ruby on Railsのようなフレームワークが一般的に用いられます。 多くのPython学習者が最初に取り扱うFlaskというフレームワークは、すごくシンプルで分かりやすいです。 Web好きな方もPythonを学ぶメリットがありそうですね。

【できること⑦】 デスクトップアプリ

デスクトップアプリというとCやC++、Javaを連想する方もいらっしゃると思いますが、Pythonでデスクトップアプリを作ることができます。 あえてPythonでデスクトップアプリを作る理由としては、

  • C++やJavaに比べると早く開発できる
  • ライブラリやドキュメント、情報が豊富
  • デスクトップ作成用のフレームワークの存在

が挙げられます。 一例を上げてみますと機械学習やデータマイニングのソフトウェアとして有名なOrage*は、Pythonベースで作成されています。 本稿の作成にあたって私ははじめてPythonでGUIを作ってみましたが、「簡単でおもしろいな」と思いました(上記動画参照)。

【できること⑧】 マーケティング

「マーケティング」ちょっとイメージしにくいかもしれませんが、今の時代だからこそ求められている技術になります。 身近なところですと「ユニクロ」をイメージしてみてください。購入ルートは、実店舗以外にネットショップやアプリからもあり、ターゲットとなる世代も幅広いことから広告の打ち方やキャンペーンの方法も多岐にわたります。これらを最適化するためには「データ」が欠かせません。 そんなデータ統計を行う仕事にPythonは使われています。

電通デジタルの田嶋さんのコメント*は、マーケティング初心者でもプログラミング初心者でも分かりやすいと思います。

【できること⑨】 競馬や株価の予想

これは人工知能のソフト開発に通じるところもありますが、プログラミング初心者でも競馬や株価の予測プログラムや自動取引アルゴリズムが作れる時代となっています。 例えば、電脳賞というドワンゴ社が企画する競馬の予想コンテストでは、参加資格に制限がなく、2017年に開かれた大会でもBEST8チーム中の2チームがPythonを使っていました。

株価予測についても「Stock Market株価 Prediction予測 Python」とGoogle検索するとチュートリアルが紹介されます。 2012年には、機械学習を使って$500,000を稼いだ個人の方*がいるというのですから、興味深いですよね。

【できること⑩】 ブロックチェーンやフィンテックの開発

賛否両論あるビットコインをはじめとする仮想通貨やその技術を応用したブロックチェーン・サービスなど、こちらの基礎学習言語は大方Pythonでしょう。 筆者自身はブロックチェーンの学習過程でPythonをはじめて体験。 その時思ったことは「JavaScriptやPHPに比べて、読みやすく、書きやすい言語だな」と思いました。

最近は、小規模なチームでもICO(Initial Coin Offering)というブロックチェーン技術で多額の資金調達に成功しています。起業をはじめ経営を意識している方は、ICOとPython必須かも?ですね。

【できること番外編】

【情報セキュリティ】
現在日本国家は、IT人材不足に加えて情報セキュリティ技術者が足りないといわれています。 ご承知のとおり、ネットは24時間常に世界とつながっているので、常に世界中のハッカーからの危険にさらされ、日々ハッキング被害も起きている現状があります。 この問題に立ち向かうにはハッカーがよく使うプログラミング言語のPython*を理解することは重要でしょう。

【アプリ開発】
イレギュラーかもしれませんが、Kivyなどのマルチプラットフォームを使うとPythonでiPhone用のアプリやAndroid用のアプリを開発することも可能です。

【ゲーム開発】
image

画像出典:Panda3D

ゲーム開発といえばUnityですが、Panda3Dというゲームエンジンを使うとPythonでも本格的なゲームを作成することができます。 ディズニー社でも使われた実績がありますね。

Pythonエンジニアの年収や人気の理由について

現在日本をはじめ世界中でPython人気がある理由の一つに、2013年9月にオックスフォード大学のオズボーン准教授が公開した論文「コンピュータに取って代わる仕事」が関係しています。

先日日本でも大手銀行が人工知能の活用で3万人規模の人員削減をする、と発表しましたね(2017.11.1)。 既存のパターン化された仕事は、これからどんどんロボットや人工知能搭載のソフトウェアに置き換わっていき、代わりに人工知能分野の開発者が必要とされています。

その結果、人工知能開発によく使われるPythonに人々が集まっているという状況があります。 その他にも、増え続けるビッグデータの経営資源化、スマホやウェアラブルによってより複雑になる個人の消費行動、セキュリティや自動運転のための画像解析技術、このようなことから今まさに時代はPythonを求めているのですね。

参考までに求人仲介サイトでPythonエンジニアがどれだけ求められているか、他の言語と合わせて比較してみました。

Python Java PHP Ruby C++
DODA 292 1969 869 399 850
indeed(日本) 8894 57260 32093 13940 29140
indeed(米国) 46118 62638 14646 18167 31830

国内とアメリカではPythonエンジニアの需要が異なりますが、将来的には日本もアメリカのような分布になると考えられます。

また年収は求人票を見る限りでは、400〜800万円とピンキリですが、アメリカにおいては明らかにPHPやJavaより平均年収が高くなっています。

プログラミング言語 職種 平均年収(米国)
Java ソフトウェア・エンジニア $81,714
Ruby ソフトウェア・エンジニア $86,994
PHP ソフトウェア・エンジニア $77,466
Python ソフトウェア・エンジニア $86,566
Python データサイエンティスト $96,607

データ参照:PayScale

まとめ

今回Pythonのできることをご紹介させていただきましたが、「チョット試してみたい」と思われましたでしょうか? もし「チョット試してみたい」と思われたなら、プログラマやエンジニアへの道も開けるように思います。

実際に自分のパソコンでPythonを使うには、いくつかのソフトをインストールする必要があり、設定を間違えるとややこしくなるケースもありますので、本やレッスンビデオにしたがって手続きすることをオススメ。

image

オシママサラ
ライター
オシママサラ

関連記事