ITエンジニアのための勉強会・イベントレポート情報メディア

Pythonの魅力とオープンソースの多様性
event

Pythonの魅力とオープンソースの多様性

2017.02.16

今回参加したのは、株式会社パソナテック社が開催する技術セミナー「Pythonの魅力とオープンソースの多様性」です。定員30名ほどの会場はほぼ満席の状態で、Pythonの最新動向やPythonとWebアプリ、データ解析との関係について詳しく学ぶことができました。

河村 真里

講師は東京大学先端科学技術研究センター特任助教である辻真吾氏。最近はほとんど全ての仕事をPythonで片付けているそうで、Pythonに関する講演・執筆活動も精力的に行っています。

オープンソースと選択肢

オープンソースは選択肢が多いのが特徴です。例えばPC-UNIXならLinuxとBSD、シェルならbashとtcshという選択肢がありました。現在ではLinuxとbashが圧倒的な知名度を誇っていますよね。今回のテーマであるPythonは、同じく軽量言語の代表格であるRubyと比較できます。昔はあまり差がなかったのですが、最近ではPythonの人気が非常に高まっているのだそう。その理由としては、Pythonの可読性の高さやCライブラリとの連携の良さ、バージョン間の互換性、マルチプラットフォームなどが考えられます。

このようにオープンソースにはさまざまな選択肢が現れますが、基本的には勝ち馬に乗るのが一番。人気の言語は開発コミュニティが大きく情報も充実しているので、その後の開発のしやすさが大分変わってきます。そう考えると、軽量言語では現在人気が高まっているPythonを選ぶのが得策だといえるでしょう。

Pythonがインフラになりつつある

Pythonはビジネス界の英語と同じ

こちらの文章は、Airbnb社が公開している「Airflow」というワークフロー管理プラットフォームの説明文です。赤線部分を翻訳すると、「英語がビジネスの標準言語であるように、Pythonはデータを扱う言語の標準である」という意味となります。Pythonは英語と同じくらい標準的な言語になっているのです。

アメリカの大学の入門言語

現在アメリカの大学トップ10のうち、8校がPythonを計算機科学科の入門言語として採用しています。さらにトップ39校まで広げると、約7割の27校がPythonを使用しているとのことです。

第二言語はフランス語よりもPython

イギリスの小学生やその親たちは、第二言語にフランス語ではなくPythonを希望することが多いのだそう。プログラミング言語が第二言語として扱われるようになるなんて驚きですよね。

このように、現在Pythonはインフラになりつつあるといえるほど、世界的に存在感を高めています。ほかのプログラミング言語と比べると汎用的かつ簡単で、誰でも使いやすい点がこれほど広まった理由だといえるでしょう。

Pythonの環境構築

Pythonには2系と3系があり、後方互換性がありません。2系では3系で書いたコードを動かすことができないので、特に理由がなければ3系を選びましょう。またインストールする際は、標準のPython よりもAnacondaを利用した方が便利です。AnacondaとはContinuum Analytics社が配布しているもので、標準のPythonにcondaなどのさまざまな外部ライブラリを同梱しています。Pythonは外部ライブラリが非常に豊富で、現在90,000個以上のライブラリが用意されているそうです。

conda

Anacondaに同梱されているcondaを使えば外部ライブラリを簡単に追加することができ、さらに1台のPCで2系と3系の複数バージョンを管理することも可能です。

※複数バージョンを管理する方法
3系のセットアップ後に下記コマンドを入力すると、2系の環境を使うことができます。
$ conda create python=2.7 -n 任意の名前:2系の環境を作る
$ source activate 任意の名前:2系の環境を使う
$ source deactivate 任意の名前:元の環境に戻す

Jupyter notebook

もうひとつの便利なツールが、こちらのJupyter notebookです。これはWebブラウザで利用できるPythonで、Pythonのコードを入力・実行し、結果をブラウザに表示して保存することができます。さらにこの結果をHTML形式に変換できるので、結果の共有をする際に非常に便利です。

Webアプリ開発からみたオープンソースの多様性

PythonのWebアプリフレームワークにはBottle、Flask、Pyramidなどさまざまな種類があり、どれを使えば良いか迷ってしまいます。そこで今回はおすすめのものをいくつかご紹介していただきました。

Django

Pythonのフルスタックフレームワーク。必要なものが全て揃っており非常に便利です。最近ではWebアプリケーションフレームワークとして有名なRuby on Railsと同じくらいの知名度となっています。

Report Lab

Webアプリで帳票を出力したい場合に便利なのがReport Lab。位置を指定し文字を流し込んだり線を引いたりすることで、PythonでPDFを作ることができます。

AIと機械学習

IBMのワトソンやAlpha GO、自動運転車の実現など、近年AIが非常に話題になっています。AIがこれほどまで盛んになってきた理由として挙げられるのが、機械学習革命です。機械学習によってアルゴリズムが自動生成されるため、人間がプログラムを組む必要がありません。今後、機械学習が発展すれば、プログラマーという職業はなくなってしまうかもしれませんね。

Pythonとデータサイエンス

Pythonは、そんなAIや機械学習分野で非常に活躍している言語です。ほかにもSASやMATLAB、Rなどのソフトウェアがありますが、オープンソースかつ汎用言語なのはPythonだけです。また、Pythonには機械学習に関するライブラリが多数揃っています。Pythonはさまざまなライブラリをつなぎ合わせるため、「のり言語」とも呼ばれているのだそう。以下がその中の代表例です。

  • ・NumPy:Pythonでのデータ解析、科学計算の基礎となるライブラリ。
  • ・SciPy:NumPyを基礎としており、統計関数や数値積分、最適化なども可能。
  • ・pandas:データ解析になくてはならない超高性能ライブラリ。データの入出力、加工、可視化など幅広く対応。
  • ・matplotlib:Matlabの代替を意識して作られており、データの可視化に使われる。
  • ・seaborn:matplotlibを基礎としており、統計的な機能も取り込んでいる。
  • ・scikit-learn:進化し続けるPythonの機械学習ライブラリ。ドキュメントとコード例が豊富で便利。

今回のセミナーではPythonがインフラになりつつあるという現状とその魅力、そして多様なライブラリやフレームワークについて学ぶことができました。最近話題のAI・機械学習分野での活躍も目覚ましいため、今後ますます需要が高まっていくのではないでしょうか。

原稿:河村真里
SEとして勤務後、ライターに転身。何でも手を出したくなる雑食系。
IT関連情報のほか、旅行、グルメ、インテリアなど幅広いジャンルを執筆しています。

Pythonの魅力とオープンソースの多様性

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW