Pythonとは?

このページではPythonの特徴やプログラミング未経験者向けの学習方法について解説します。

Pythonとは

 Pythonとは近年人気が高まっているプログラミング言語の1つです。高度な科学技術計算や機械学習などに向いている一方、スクリプト言語の一種でコンパイルせずにすぐに動かすことができるため、プログラミング未経験の方にも比較的優しい言語です。

Pythonで何ができる?

 Pythonでできること、と見出しを打ちましたができないことのほうが少ないのかもしれません。身近な例を挙げると以下のような便利ツールを自分で作れるようになります。仕事の効率化や趣味、研究に活用できそうですね。

  • インターネット上からのデータの自動収集
  • ブラウザの自動操作
  • PCの自動操作
  • LineやTwitterのチャットボット
  • データの可視化
  • 画像処理

趣味から離れた高度な分野だと、データのバッチ処理、Webアプリケーションといった業務系処理や、統計分析、機械学習といった科学技術計算でも広く使用されています。

バッチ処理

 データを一括で更新したり抽出するような処理をバッチ処理と呼びます。複雑な計算もPythonだとシンプルに記述することができ、また、リレーショナルデータベースやExcel、CSVといったデータ連携ライブラリが数多く提供されているため、Pythonを使用すると業務や分析向けのバッチをすばやく実装することが可能です。

ウェブアプリケーション

 我々が日々使用するSNSやニュースサイト等のウェブサービスはウェブアプリケーションと呼ばれるアプリケーションがサーバーで動作してサービスを提供しています。Pythonでウェブサービスを作ることも可能です。Pythonが使用されている有名なサービスにInstagram、DropBoxなどが挙げられます。

科学技術計算

 Pythonの最大のメリットの1つが、統計計算を始めとした科学技術演算のライブラリが充実している点が挙げられます。このため、近年注目を集めている機械学習には外せない言語となっています。また、統計計算ライブラリも充実しているため、業務データの分析や可視化にも大活躍します。

以下はMatplotlibと呼ばれるライブラリを使用して描画したグラフの例です。

Pythonのメリット

 Pythonのメリットとして挙げられるのが、上にも書いたとおり難しい処理のライブラリが非常に充実しているという点です。このため、何か実装する場合、既存のコードをつなぎ合わせるだけで複雑なプログラムを短期間で作ることが可能となります。

また、プラットホームを選ばないというメリットも有ります。一部例外はありますが、例えばWindowsで記述したコードをMacやLinuxで動かすことが可能です。

Pythonのデメリット

 Pythonのデメリットとして、実行速度は速くない、という点が挙げられます。ただし、これはスクリプト言語全般に当てはまることでしょう。

 また、Pythonは動的型付け言語と呼ばれる種類の言語で、さらに、スコープが曖昧、(ほぼ)どこからでもコードの書き換えが可能、といった「ゆるい」特徴があります。このため、様々なレベルの大勢のエンジニアが参加する大規模な業務システムの開発で使用する場合はかなりの注意を要します。

初心者向けの学習方法

 初めてのプログラミング編ではプログラミング未経験者向けに解説を進めます。私がおすすめする学習方法はとにかくサンプルをたくさん動かす、ということです。

細かい用語や動作原理を学習することはもちろん大切ですが、むしろそういったことを学習する前にある程度慣れておくとその後の学習がスムーズになります。

次回からPythonをインストールして具体的に色々動かしてみましょう。