Pythonとは?
Python は、少ない記述量でわかりやすいプログラムが書けるプログラミング言語で、昨今では、AI 市場拡大に伴って注目を集めています。
1991年にオランダ出身の Guido van Rossum(グイド・ヴァン・ロッサム)氏が「Amoeba」という分散OSのシステムの管理を行うために開発し、2022年現在でもバージョンアップが行われ、そのたびにさまざまな機能が追加されています。
文法がシンプルでありながら主要な OS であれば動作するといった汎用性の高さから世界中で多くのエンジニアからの指示されており、さまざまな分野で使用されています。
また、無料でインストールでき、読み書きもしやすいことからプログラミング初心者にも学びやすい言語でもあります。
TIOBE Softwareが発表した「TIOBE index for May 2022」というプログラミング言語の人気ランキングで1位を獲得しています。この指標は、Google や Wikipedia、Amazon などの主要な検索エンジンの検索結果を分析して作られているため、非常に信頼性が高いものです。

Pythonでできること
AI開発・機械学習・深層学習
Python には AI 分野のライブラリも多く用意されているため、AI 開発には Python が不可欠な存在となっています。
Webアプリ開発
AI 開発で人気に火が付いた Python ですが、Webアプリ開発で用いられてきました。なかでも、特に大規模なプラットフォーム型サービスの開発に使われることが多いです。
モバイルアプリ開発
Android や iOS に対応するモバイルアプリ開発に使われることもあります。
デスクトップアプリ開発
Windows や Mac などに対応するデスクトップアプリの開発も Python で可能です。
組み込みアプリ開発
まだ多くはありませんが、組み込みアプリにも Python が使われています。
データ処理・分析
人工知能は膨大なデータ(ビッグデータ)を処理する必要があります。
データ処理にはクローラーが Web 上の情報を集める「クローリング」、抽出したデータを分析し格納できるデータに変換する「スクレイピング」、データを整える「データ前処理」などといった工程がありますが、Python にはそれぞれの工程をサポートするフレームワークやライブラリがあります。
ブロックチェーン開発
暗号通貨「ビットコイン」の知名度が上がったことで耳にするようになったブロックチェーン業界でも Python が使われています。ブロックチェーンとは暗号技術で正確な取引履歴を維持する仕組みのことです。
Pythonのメリット/デメリット
Pythonのメリット
プログラミング初心者でも学びやすい
Python は構文がシンプルでわかりやすく、プログラミング初心者にも学習しやすい言語です。
1 行で多くの処理を記述できるため記述量も少なく済み、また、自由度が比較的低いので、コードの統一性も上がり、書きやすく読みやすいコードになるのです。
専門分野の開発実績がある
現在、機械学習や深層学習(ディープラーニング)などを活用した AI 分野が注目されていますが、高度な計算や統計処理が必要な AI 分野では、AI 分野に特化したライブラリが充実している Python が欠かせません。
ライブラリが充実している
Python にはライブラリが豊富にあり、膨大なデータを分析する際も高速処理が可能になるため、ビッグデータの解析など、幅広い分野で活用されています。機械学習のライブラリにはscikit-learnや行列計算を行うNumPy、データの前処理に役立つ Pandas、グラフ描画に用いられる Matplotlib などがあります。
フレームワークが充実している
フレームワークとは、Webアプリケーション開発を行う際に必要となる機能や骨組みをひとまとめにしたものです。あらかじめ完成している土台に、必要最低限のプログラムを書くだけでいいので開発工程を短縮でき、書き方も統一されるため、メンテナンスも楽になります。
Python のフレームワークとして有名なものには、Django や Flask、Bottle などがあります。
Pythonのデメリット
実行速度が遅い
インタプリタ型である Python には、コンパイラ型のプログラミング言語より実行速度が遅いというデメリットがあります。そのため、複雑なシステムの開発や処理速度の速さが求められるゲーム開発などには向いていません。そういった場合には Java や C言語などがおすすめです。
インデントがずれるとエラーになってしまう
Python ではオフサイドルールといってインデント(空白で字下げする文字の組み方)して文の構造をわかりやすくするルールがあります。入れ子構造が深くなるほど文が右側から始まるため可読性が上がります。しかし、その一方で、インシデントを忘れたり空白の数(インデントの位置)を間違えたりした場合、機械が各ブロックを捌けずエラーが起こってしまいます。
Pythonを使う職業
AIエンジニア
AI エンジニアは、機械学習や深層学習(ディープラーニング)を活用して機械にデータを与え、判断方法や思考を学習させることでAI(人工知能)を開発する職業です。
Webアプリエンジニア
Web アプリエンジニアは、Webブラウザで動作するアプリを開発する職業です。
データサイエンティスト
データサイエンティストとは、ビッグデータを分析することで、さまざまな意思決定の局面において、データに基づいた合理的な判断を行えるように意思決定者をサポートする職業です。
Pythonの将来性
Python はさまざまな開発に用いられる言語ですが、特に AI 分野では欠かせない存在となっています。そのため、Python を扱えるエンジニアの将来性は高いといえるでしょう。求人サイト「Indeed」で「Python 東京都」と検索すると、27,783件(2022年5月現在)ヒットするなど案件数は豊富にあることがわかります。また、今後も AI 市場の拡大に伴い、案件数も増えていくと考えられます。
Pythonが使われている企業やサービス
さまざまな開発ができる Python は身近なサービスで用いられています。なかでも代表的なものをいくつか紹介します。
Pepper
ソフトバンクが開発したロボット「Pepper」の感情生成エンジン に Python が用いられています。
Dropbox
オンラインストレージサービス「Dropbox」の約93万行に及ぶコードは全て Python で記述されています。
Instagram
写真共有サービス「Instagram」は Python のフレームワークである Django で構築されました。
YouTube
Python は世界最大の動画共有サービス「YouTube」のサーバーサイドで、アップロードされた動画の処理やデータの読み込みなど、同サービスのプラットフォームを支えています。
OpenStack
クラウド環境構築ソフトである「OpenStack」の大部分は Python が使われています。
PayPal
オンライン決済サービス「PayPal」は深層学習のライブラリ「TensorFlow」を用いて不正がないかチェックしています。
Blender
3Dグラフィックスの作成ソフト「Blender」はプログラムでキャラクターを動かし、グラフィックス効果を行う機能に Python が用いられています。
Google
Gmail や Google Maps のサーバーサイドの処理で Python が使われています。
学習方法
独学
インターネット上にある無料学習サイトや有料学習サイトを利用して独学で習得するという手軽に学びたい方におすすめの方法です。
独学ではモチベーションを維持して学習を続けなくてはなりませんが気軽に学習を始められるでしょう。
プログラミングスクール
学習している過程でわからないことが出てきた場合、教えてくれる人がいないとわからないままになってしまい、挫折の原因になるというケースもあります。
その点、プログラミングスクールを利用すれば講師に分からないことを教えてもらいながら学習を進められるため挫折しにくいです。
弊社でもプログラミングスクールを開校しましたので、興味のある方はこちらをご覧ください。