Pythonの歴史
Pythonはオランダのプラグラマであるグイド・ヴァンロッサムによって1991年に開発されました。Pythonの歴史を時系列で振り返ると以下のようになります。
- 1991年:Python 0.9x 公開
- 1994年:Python 1.0 公開
- 2000年:Python 2.0 公開(人気が出てきた)
- 2008年:Python 3.0 公開
Pythonの名前が聞かれるようになったのはPython2.0が公開されてからになります。現在では、常に人気ランキング上位にいるプログラミング言語であり、開発現場では必須スキルの1つとなっています。
Pythonの特徴
Pythonの主な特徴は、以下の3つになります。
- コードが非常にシンプルで初心者でも学習しやすい
- 豊富なライブラリで開発現場で幅広く使用されている
これらの中身について解説していきます。
コードが非常にシンプルで初心者でも学習しやすい
Pythonはコードの記述量がとても短くて済みます。例えば、「Hallo World!」を画面に出力する処理をJavaとPythonで比較してみます。
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
System.out.println("Hello World!");
}
}
print("Hello World!")
このようにJavaと比べてPythonが少ない記述量で済むことがわかります。
また、Pythonは構造を分かりやすくするために、プログラムの書き出し位置を調整する「インデント」を導入しています。これにより、「コードが読みやすい・エラー時に原因を特定しやすい」などのメリットがあります。
学習コストが比較的低いため、初心者でも非常に習得しやすい言語となっています。
豊富なライブラリで開発現場で幅広く使用されている
Pythonは世界中の開発コミュニティから多数のライブラリが提供されています。それらを利用することで、情報処理技術を専門としない方でも手軽に開発することが可能となっています。
- Pythonで開発できる主な例
- 機械学習
- ニューラルネットワーク
- データサイエンス
- GUI / Web アプリケーション開発
Pythonで出来ること
Webアプリケーションの開発
Pythonはで開発されているWebサービスは以下のものがあります。
- YouTube
- Dropbox
大規模なWebサービスに使用されることが多いです。Webアプリの開発に特化したフレームワークやライブラリもあるので、これらを用いることで初学者でもWebアプリやWebサービスの開発を可能にしています。
Webスクレイピング
Webスクレイピングとは、WebサイトからHTMLデータを取得し、見出しや写真といった特定のデータを抽出する技術になります。PythonにはWeb上から大量のデータを効率的に取得できるフレームワークが数多く用意されています。
- クローリングをして対象のWebページの内部情報を取得する
- 取得したWebページを解析し、スクレイピングをして特定のデータを検索・抽出する
- スクレイピングして抽出したデータを整形し保存
データ処理・分析
Pythonには大量のデータ(ビッグデータ)を効率的に処理できるフレームワークが数多く用意されています。
- データ処理の例
- カテゴリーデータの処理
- 欠損値処理
- 特徴量の変換/追加
- 次元削除
- データ分析の例
- クロス集計
- ロジスティック回帰分析
- アソシエーション分析
- 決定木分析
- クラスター分析
- 主成分分析
機械学習/ニューラルネットワーク
昨今、人工知能は世界の大きなトレンドとなっており、その人工知能を開発する言語はPythonとなっています。Pythonには優秀な機械学習/ニューラルネットワークライブラリが数多く存在しているため、これらを利用することで簡単に開発することができます。
- 人工知能の活用例
- お掃除ロボット
- SiriやAlexaなどのスマートスピーカー
- 自動車の自動運転
- 感情を持つロボット
- クレジットカードの不正使用検知
- Googleなどの検索エンジンの最適化
- Google翻訳
- 工場における不良品検知
- ニュース記事のレコメンド
ブロックチェーン技術
ブロックチェーンとは「取引履歴を暗号技術によって過去から1本の鎖のようにつなげ、正確な取引履歴を維持しようとする技術」になります。
ブロックチェーン業界でもPythonは活躍しています。
- ブロックチェーンの活用例
- SONYの音楽の著作権管理
- 電力取引の履歴管理
- Mastercardの自動決済システム
- 独自通貨の流通・管理
- スマートコントラクト(契約の自動実行)
- トレーサビリティ(製品情報の追跡)
- 権利や資産の管理
最後に
本記事では、Pythonの特徴と活用例を基に出来ることについて解説してきました。Pythonに興味を持った方は是非学習してみてください!