- 公開日: 2018年04月19日
【初心者向け】今注目されているPythonとは一体?
日々刻々と社会に浸透する人工知能やロボット。
その核となるプログラミング言語として有名なPython。
今回は、プログラミングに興味があったり、人工知能や機械学習などに興味のある方向けに「Pythonとは」をご紹介します。
【Python入門】今注目されているPythonとは一体?
Pythonとは?
まずイメージしやすいように「Pythonとは」を箇条書きでまとめます。
- プログラミング未経験者でも実行可能なコンピュータ言語の一種
- WindowsでもMacでもLinuxでも実行可能
- 人工知能やIoTなど流行りの技術を操れる
- エクセルやWebなどのデータ操作の自動化に使える
- ネットや雑誌上でサンプルが多い
- 趣味の領域からプロレベルまで広く使われている言語
- 無料
- かっこいい
Pythonに興味をもったキッカケは人それぞれと思いますが、私の場合は「人工知能」関係の仕事がキッカケ。 その時感じたPythonの魅力は、「読みやすさ」と「サンプル数の多さ」それから「情報量の多さ」でした。 Javaに比べるとシンプルなコード、RubyやPHPに比べると広い汎用性、Pythonには学ぶ楽しさが秘められていますね。
それではここからすこし技術的な視点での「Pythonとは」をご紹介します。
- コードがシンプル
- 予約語が少ない
- 言語処理や画像解析で必要なライブラリ(ソフト)が豊富
- エディタツールも充実
- GitHubでは2番目のシェア*
Pythonは、JavaやCなどに比べるとシンプルな構文で、学習時間と学習コストの短縮化に役立ってくれます。 MITや早稲田大学、慶應義塾大学などの学校でもPythonが教えられていますね。
予約語については、Ruby2.3が 41、PHP5.6が 63、Python3.3が 33とPythonの予約語が少ないことを確認できますね。 予約語が少なければ学習時間の短縮化に役立つと言われています。
予約語・・・言語特有のルール、if や for など
Pythonのライブラリが豊富な点については、人工知能やIoT開発で役立ってくれます。
難しい解析処理やグラフ作成なども import numpy
、 import matplotlib.pylab
で完了でしょう。
エディタツールについては、ブラウザ上でPythonを実行できる Jupyter NotebookやPyCharmなどのIDE(統合開発環境)が無料利用可。 またPythonの主要な開発環境を一括で整えてくれる Anaconda の存在も大きいでしょう。
Pythonは、現在アメリカのデラウェア州に拠点をおくPythonソフトウェア財団が管理・運営しているオープンソース型のプログラミング言語です。 C#(Microsoft社)やJava(オラクル社)のような特定の企業が管理運営を行っていないことから比較的偏りの少ない言語で、直克GoogleやAWS、Bloombergなどの複数企業によるサポートで今後も安定的な活動に期待。 参考までにPythonソフトウェア財団の年間収入は約2億5,000万円で、Rubyアソシエーションの約3,400万円と比較しても規模が大きいことを確認できますね。
Python公式サイト https://python.org/
Pythonでできることは?
Pyhtonでできることはたくさんあります。
- 人工知能を使ったソフトの開発
- 機械学習を使ったソフトの開発
- IoTの開発
- ロボット制御
- 文書作成の自動化
- 画像データの一括収集
- Webアプリ
- デスクトップアプリ
- マーケティング
- 競馬や株価の予想
- 仮想通貨の発行
- 為替や仮想通貨などの自動売買
- 3Dグラフィック処理
日々の生活や仕事に役立つことから「こんなことやってみたい」「こんなのできたらいいな」という未来系までをPythonはカバー。 雑誌「日経ソフトウェア」や「ラズパイマガジン」では、PythonベースでIoTや人工知能に関するテクニックが紹介されていますので、基礎をおさえておくと実行スピードがアップしそうですね。 各項目の詳しい内容については、「最近話題の言語【Python】でできる10のこと」を参考にしてみて下さい。
本稿をご覧の方の中には「特別具体的にやりたいことはないけれども、とりあえずプログラミング学習を始めたい」と考えている方もいらっしゃると思います。 そんな方にはPythonがオススメです。 私自身も本を片手にPythonのディープラーニングや人工知能のサンプルを動かしただけで、随分と人工知能についての理解が深まり、「日常生活の中のこんな場面で活かせるんじゃないか」など今までにないアイディアが湧き出るようになりました。
それでは次に、今回ご紹介した「Pythonでできること」を使ってお仕事している事例をみてみます。
Pythonを利用している企業
求人情報サイトなどで「Python」と入力すると、たくさんの企業がリストアップされます。「こんなところやサービスでもPythonが使われているんだな」ということを知って、日常的にPythonが動いていることを感じてみて下さい。
■Web系■
- YouTube(Google)/動画サービス
- DropBox(Dropbox, Inc.)/データ保管サービス
- Instagram(Instagram,LLC)/写真共有サービス
- Reddit(Reddit Inc.)/コミュニティーサービス
- Spotify(Spotify Technology SA)/音楽サービス
普段の生活で2つ3つは使われているのではないでしょうか。 上記アプリをWebで作業したり、アプリ内でタップする度にPythonが動いて処理しています。
■データサイエンス系■
- 富士ゼロックス株式会社/製造業や金融業向けのデータ分析、ソリューションなど
- 新日鉄住金ソリューションズ株式会社/データ分析を使って社内の営業支援
- 株式会社 Gunosy/サービス向上のためのデータ解析、ソリューション
- オリコン・グループ/サービス向上のためのデータ解析、ソリューション
- 株式会社リクルートコミュニケーションズ/サービス向上のためのデータ解析、ソリューション
今ビジネスを大きく左右するビッグデータに基づくデータ解析の業務でPythonが使われています。 ちょっと日常生活には馴染みがないのでイメージしにくいかもしれませんね。
■人工知能系■
- 株式会社 本田技術研究所/四輪知能化(AI)技術開発、つまり自動運転車の開発
- 伊藤忠テクノソリューションズ株式会社/AIを活用した社会課題解決プロジェクトへの参画など
- ソフトバンク・テクノロジー株式会社/人工知能を使ったソフトの開発
こちらの分野は現在開発中の印象が強く、人工知能ソフトがPythonかCかC#か、公開されていないものが多い印象です。差し当たって上記3社はPythonを使って人工知能ソフトを開発しています。
次にPythonエンジニアの求人状況を確認してみますね。学習へのモチベーションUPにもつながると思います。
Pythonの求人状況
現在国内のPythonエンジニアの求人件数は以下のようになります。
Python | Java | PHP | Ruby | |
---|---|---|---|---|
indeed | 8843 | 43961 | 26518 | 10364 |
リクナビNEXT | 71 | 504 | 264 | 75 |
DODA | 383 | 2149 | 1244 | 382 |
JavaやPHPに比べると求人数は少ないものの、今後社会にもっと人工知能やデータサイエンスが浸透するとPythonも増えてくるのではないかと考えられます。 例えばアメリカの求人状況を見てみますと、Javaはやや低下傾向にあるもののPythonは比較的安定。
画像引用:indeed (一部画像修正)
現在のアメリカ国内の求人状況をみてみても日本とは違い、Pythonエンジニアに高い需要があることが確認できます。 日本のIT事情は、アメリカの後追い傾向にありますので、これからPythonニーズが高まると予測できますね。
【アメリカ国内のPython求人件数】
Python | Java | PHP | Ruby | |
---|---|---|---|---|
indeed.com | 54536 | 66902 | 14451 | 18892 |
\AIエンジニアに必要なスキルが身に付く/
まとめ
人工知能、自動化、省エネ、スピードを重視する今の社会背景からPythonに対する需要、期待は高まっています。 現に安倍政権で掲げている「未来投資戦略2017-Society 5.0の実現に向けた改革-」の8つの項目の内、6項目にPythonが該当。
- 健康・医療・介護(AI)
- 移動サービスの高度化、「移動弱者」の解消、物流革命の実現(AI)
- 世界に先駆けたスマートサプライチェーンの実現(Blockchain)
- FinTechの推進等(ICOや仮想通貨)
- エネルギー・環境制約の克服と投資の拡大(IoT)
- ロボット革命/バイオ・マテリアル革命(AI、IoT)
まさに「これからプログラミングをはじめよう」と考えている方にとってPythonはピッタリの言語かもしれないですね。
Pythonの学習方法は、本やネットなどありますが、オンラインのマンツーマン・レッスンというプランもあります。 パソコン操作に慣れていない方、やっていることが正しいかどうか不安な方、一度CodeCamp社の現役エンジニアによるレッスンを検討されてみてはいかがでしょうか?
- この記事を書いた人
- オシママサラ