今更聞けない!Python(パイソン)とは?何ができるの?

Pythonは、人工知能というキーワードと一緒に耳にすることが多くなった言葉です。その正体は、スクリプト方式のプログラミング言語で、人工知能関連のライブラリが豊富なため、注目を集めています。人工知能、と言われると何やら小難しい言語のような印象を持たれるかもしれませんが、実は非常に学びやすい、シンプルな言語です。 本稿では、Pythonとは何かを、その特徴やできることを中心に解説していきます。

Python(パイソン)とは?

Python,ヘビ,kuguru,クグル,くぐる

Pythonの歴史

Pythonの歴史は意外と古く、最初のリリースは1991年になります。開発者はオランダ人のグイド・ヴァン・ロッサム氏で、開発当初はオブジェクト指向の機能が搭載されていませんでしたが、リリース時には搭載されました。Pythonは「パイソン」と読み、名前の由来は、イギリスの人気コメディ「空飛ぶモンティ・パイソン」と言われています。ちなみにパイソンはニシキヘビのことで、いまでもPythonのアイコンには蛇が使われています。

グイド・ヴァン・ロッサム氏は、自身が開発にかかわっていた分散OS「Amoeba」用のスクリプト言語として開発を始めました。また、同じく開発に関わっていた教育用言語「ABC」が実用的ではなかったため、より実用的な言語を作りたかったそうです。

海外のPythonのシェア

日本では最近注目を集めた感のあるPythonですが、海外ではかなり前から人気のある言語です。先日、電気通信分野の標準化団体であるIEEEが発行するオンラインマガジン「IEEE Spectrum」の2017年版で、Pythonは人気ランキング1位を獲得しています。あの有名なC言語やJavaを抑えての、堂々の1位です。これは快挙と言えるでしょう。それだけ、Python人気が高まっているということです。

国内でのPythonのシェア

国内でも、Webシステム開発にPythonを採用する動きが活発になっています。特に、Django(ジャンゴ、と読みます)というWebシステム開発用のフレームワークが発表されてからは、Rubyと同じく、非常に人気がでてきました。

Pythonの特徴

kuguru,クグル,くぐる

Pythonでできること

Pythonの最大の特徴は、「同じロジックなら誰が書いても同じになる」ように言語仕様が決められていることです。それを実現するために、インデントブロックという方法を使っています。これは、文のかたまり(ブロック)を、インデントの深さで表すもので、JavaなどのC言語系言語が{}で表現するところを、何も書かないで表現できるため、誰が書いても同じようなコードになりやすいという特徴があります。

また、拡張ライブラリが他の言語に比べて非常に作りやすいという特徴があります。このおかげで、Pythonには豊富な拡張ライブラリがあり、Webシステムの開発から人工知能まで、様々な分野のアプリケーションを開発できる原動力ともなっています。
その言語仕様も非常にシンプルで学びやすく、学習コストが低いのも特徴です。

➡pythonのメリット・デメリット!できること・クラスの存在意義は?

Pythonが使われているシステム

あまり知られていないかもしれませんが、実はPythonで作られたシステムは数多く存在します。一番代表的なものは、Facebookではないでしょう。あの世界中で使われているシステムは、実はPythonで作られているのです。

またPythonは、Googleのオフィシャル言語にも選定されています。このため、Google App Engineは、Python実装が標準となっています。また、YouTubeやインスタグラムにもPythonが使われています。

AIでPythonが多く使われるワケ

Webシステムでの活躍も目立つPythonですが、最初にご紹介したように、日本では人工知能の分野でも注目を集めています。実際、Pythonには人工知能系の拡張ライブラリが豊富にあり、誰でも利用することができます。

有名な人工知能系拡張ライブラリとしては、GoogleのTensorFlowや、ニューラルネットワークを実装するためのChainerなどがあります。Pythonに興味がなくても、人工知能に興味があれば、上記ライブラリをPythonを使って利用する価値は十分にあります。Pythonの豊富な拡張ライブラリには数学系や科学系も多く、学術者の間でも人気の言語となっています。

Anacondaを利用したPythonのメリット

アナコンダ,kuguru,クグル,くぐる

Anacondaは、Pythonのディストリビューションのひとつです。ディストリビューションとは、Python本体と、Pythonでよく利用される拡張ライブラリをセットにした便利なパッケージです。

Anacondaをインストールするだけで、Python本体だけでなく、頻繁に使用する拡張ライブラリも一緒に導入されるため、環境構築がずいぶんと楽になります。Anacondaディストリビューションを使わないと、Python本体をインストールした後、必要な都度、拡張ライブラリを個別にインストールしなければならないので、手間もかかりますし、初心者には敷居が高くなります。

Linux上でのPython設定方法

Windowsの場合は、インストーラがほとんど全自動でPythonを導入してくれるので非常に簡単です。では、Linuxではどうでしょう?実は、LinuxにPythonを導入するのも簡単です。

Linuxディストリビューションにもよりますが、Ubuntuでは最初からPythonが入っています。手動で導入する場合は、以下のコマンドを実行します。(X.Xはバージョン。本稿執筆時点の最新は3.5)

$ sudo apt-get install pythonX.X

➡【python入門】初心者でもできるpython開発環境構築!おすすめは?

SAS,SPSS,R,Pythonの比較

資格,kuguru,クグル,くぐる

PythonはWebシステムや人工知能の他、データ分析にも広く使われるようになってきました。これまでデータ分析と言えば、SAS(Statistical Analysis System)やSPSS(Statistical Package for the Social Sciences)といったパッケージソフトや、R言語が使われてきました。

SASやSPSSは統計分析に主眼をおいたソフトのため、人工知能系のアルゴリズムはR言語やPythonのほうが得意としています。また、Pythonはオープンソースで常に改良が加えられているため、データ分析の分野でも進歩が速いという利点があります。今後も、データ分析の分野ではますますPythonが活用されるようになるでしょう。

まとめ

本稿では、大人気スクリプト言語Pythonについて、その特徴やできることを交えながら解説しました。Webシステム開発では、同様に大人気のスクリプト言語Rubyがありますが、人工知能の分野ではPython一択の状態です。PythonもRubyも非常に学びやすい言語ですので、迷っている方は、両方とも触って比べてみるのもよいかもしれません。人工知能に興味があるなら、Pythonを選びましょう。

▶Pyhonの他の記事も見てみよう!
pythonのメリット・デメリット!できること・クラスの存在意義は?
【python入門】webアプリケーションフレームワーク・サンプルを徹底解説!
【python入門】初心者でもできるpython開発環境構築!おすすめは?
【python入門】おすすめWEBフレームワーク3つを比較!
【初心者必見】pythonを学ぶには?学習方法・サイト・勉強本まとめ!
【初心者から上級者まで】Python勉強のための学習本11選!

おすすめコンテンツ


ページ上部へ戻る