言語・職種

Pythonとは?プログラミング言語の特徴・将来性・活用事例・できることを解説

更新日 2024/04/18

Pythonは、AIエンジニアやWebエンジニア、データサイエンティストを目指す人なら概要だけでも学んでおきたい、将来性が充分ある言語です。しかし「Pythonが有名であることは知っているけれど、具体的にどんなことができるのかわからない」と考えている方もかもしれません。

この記事では、そのような方の疑問を解消するべく、Pythonの歴史や特徴、世界から見た人気など、Pythonについてさまざまな観点からご紹介します。

\Pythonエンジニアのキャリア事例を紹介/

永井 琢也

この記事の監修者

株式会社Macbee Planet

永井 琢也

株式会社 Macbee Planet 入社後、データ解析プラットフォーム「ハニカム」の開発や、リバースETLツール「DATAHIVE」の新規開発に関わる。
同社開発部門のプリンシプルでもある「Impact-driven(技術によって事業成長にインパクトをもた…

監修者プロフィールを見る

Pythonの歴史

Pythonは、オランダ出身のプログラマーであるグイド・ヴァン・ロッサム氏によって開発され、1991年に発表されました。Pythonは、平易で誰が見てもわかりやすいことを目指した言語で、「同じ動きをするためのコードは、できるだけ1つの方法でしか書けないようにする」など設計理念があります。

1999年にはティム・ピーターズ(Tim Peters)氏が”The Zen of Python” として、Pythonプログラミングの基本ルールや哲学を発表しました。醜いより美しいのが良い、複雑よりもシンプルが良い、などの原則が書かれています。

2000年にPython2が公開されたころから、Pythonの知名度が高まっていきます。既にいくつかの製品でPythonを用いていたGoogleにグイド氏が入社し、Google製品にPythonが積極的に使われるようになりました。

Python2からPython3へのバージョンアップでは、互換性がなく、ソースコードの書き方も違うという大きな変更がありました。

現在の最新バージョンはPython 3.11.5(2023年9月時点)です。登場から30年以上が経過し、今やPythonは世界でもトップの知名度を誇ります。

\Pythonエンジニアのキャリア事例を紹介/

Pythonが人気となった理由と今後の需要

Pythonは1990年代に登場して20年あまり経ってから、人気が高まっていきました。その理由はいくつか考えられます。

Pythonが人気言語になった理由

2018年ごろから、Pythonはプログラミング言語ランキングでトップクラスの人気を獲得するようになりました。既にWebサイトの開発で一定の需要はあったものの、近年ではAIでの活用が拡大したことが人気である理由の一つです。

また、Googleが標準言語としてPythonを採用していること、IoTを使った製品の作成に使用されているシングルボードコンピュータ、Raspberry Pi(通称:ラズパイ)で利用できる大半のOSにPythonが標準でインストールされていることも、人気が上がった要因です。

ほかにも、ブラウザ上でPython を記述・実行でき、機械学習やデータ分析、教育にも使える、「Colaboratory」というサービスがGoogleから提供されています。こういったPythonの開発環境が提供されている点も、広くPythonが普及する理由の一つと言えます。

Pythonは利用機会に恵まれ、需要が高まると同時に、学習環境も整えられてきました。このことから、Python の人気が高まってきたのではないかと考えられます。

Pythonの今後の需要

Pythonの人気はここ数年で不動のものとなっています。オランダのTIOBE Softwareが公表しているプログラミング言語ランキングにおいて、Pythonは2018年ごろから徐々に順位を上げ、2022年ごろからは言語ランキングで1位をキープしています。

参考:TIOBE Index|TIOBE

アメリカのStack Exchangeが公表している「Stack Overflow Trends」でも、現在はやや下降傾向にあるものの、Pythonは約5年間1位となっています。

参考:Stack Overflow Trends

AIやデータ分析といったトレンドの技術に扱われていることや、複数のプログラミング言語人気ランキングを見ても上位をキープし続けていることから、今後もPython人気の傾向は続くものと見られます。

\Pythonエンジニアのキャリア事例を紹介/

Python言語の特徴

Pythonの言語としての主な特徴は、シンプルな言語であること、ライブラリやフレームワークが豊富であること、オープンソースで商用利用が可能であることです。以下で、Pythonの主な特徴を3つ紹介します。

コードの記述が短くシンプルな言語

Pythonは他の言語に比べて短いコードでプログラミングが行え、プログラムの作成者でないエンジニアでもコードを理解しやすいことが特徴です。Pythonは元々、それまでのシステム開発が難解であったために、より使いやすいプログラミング言語を目指して考案されたものです。現在ではバージョンの更新に伴い、コードの記述方式も見直されています。

例として、ボイラープレートの記述を挙げます。ボイラープレートとは、記述しなければならない定型コード・テンプレートのことです。

例えば、C言語系であればヘッダファイル、Javaではクラス定義や関数の入出力定義というようにボイラープレートを記述しなければなりません。一方Pythonでは、そのような記述は負荷が軽めです。

ライブラリやフレームワークが幅広い用途に活用できる

Pythonは、AIやデータ分析など幅広い用途で活用されています。幅広く利用されている理由の一つは、Pythonのライブラリやフレームワークが豊富に公開されていることです。

ライブラリ

ライブラリとは、プログラミング言語においては、クラスや関数などがまとめられた機能群のことを指します。Pythonのサードパーティのライブラリは、Python Package Index(PyPI)でまとめて公開されています。

参考:PyPI・The Python Package Index

フレームワーク

フレームワークとは、プログラミング言語において、Webアプリケーション開発や機械学習といったように、開発用途に合わせて土台として使えるソフトウェア群のことを指します。Pythonの代表的なフレームワークには「Flask」や「Django」、「FastAPI」、「Bottle」などがあります。フレームワークには、用途が限られているものや軽量であることを特徴としているもの、大規模システムに使われるものなど、用途に応じてさまざまなものがあります。

フレームワークについて詳しくは下記をご参照ください。

関連記事
言語・職種
【2024年版】おすすめのPythonフレームワークを徹底比較

ここ数年テレビのニュースなどで「AI」、「ビックデータ」などの言葉をよく耳にするようになり、これらを取り扱う技術はどんどん身近なものになってきました。これからAI関連の市場はますます伸びていき、エンジニアやコンサルタントにとっては非常にやりがいのある分野になるのではないでしょうか。

ここではAIを開発するためのプログラミング言語の一つであるPythonと、そのフレームワークや開発されるソフトウェアなどについて紹介したいと思います。

\Python案件多数!/

オープンソースで商用利用可

Pythonはオープンソースです。また、Pythonを事業対象としている非営利団体であるPSF(Python Software Foundation)の定めるライセンスが適用されています。このライセンス下においては、自由にPythonを使用でき、再配布や商用利用も可能です。

また、Pythonについて議論された内容がまとめられた文書、PEP(Python Enhancement Proposal)が公開されています。

\Pythonエンジニアのキャリア事例を紹介/

Pythonの利用機会が多い分野

Pythonが得意とする分野は、データ分析やAI、その他にもいくつかあります。

データ分析・解析

データ分析・解析では、大量の数値やテキスト、画像、音声といったデータを用います。Pythonは、これらのビッグデータを処理できる科学技術計算系のライブラリがインターネット上で豊富に公開されています。レポートの出力やExcelなどの表計算ソフトを用いることも可能です。

データ分析・解析に使えるライブラリには、pandas、statsmodels、NumPy、SciPy、scikit-learnなどがあります。

また、ライブラリ以外にもJupyter NotebookというPythonなどをWebブラウザ上で記述・実行できる統合開発環境ツールがあり、統計のモデリングやデータ分析に使用されています。

AI・機械学習

AIの開発にも、Pythonは使われています。PythonにはAI開発に必要な機械学習やディープラーニングのライブラリがあり、これらを活用することで比較的容易にAIを実装できます。Googleが提供しているTensorFlow、Facebookが開発を主導したPyTorchなどがライブラリの例です。

Webアプリケーション開発

Pythonは、さまざまなWebサイトやWebアプリケーションの開発にも使われています。下記は、Pythonで開発された有名なサービスの例です。

Instagram

Metaが所有する写真・動画共有ソーシャル・ネットワーキング・サービスです。Instagramでは当初、Amazonのクラウドサービス上で、Pythonとフレームワーク・Djangoを用いてシステムが構築されました。

Pinterest

Pinterestはアメリカ発の写真共有サービスです。PinterestもInstagramと同様に、PythonとDjangoを使ったシステムとなっています。

Spotify

Spotifyはスウェーデンの音楽ストリーミングサービスです。SpotifyではPythonで利用できるAPIを公開しているほか、Pythonでオーディオにエフェクトを追加するためのフレームワーク「Pedalboard」をオープンソース化して、Pythonで情報操作する環境を提供しています。

Webスクレイピング

Webスクレイピング(スクレイピング)とは、Web上のデータを自動的に取得し、テキストや画像など必要な情報を抽出する技術のことです。Webスクレイピングを利用すれば、株価の情報を自動的に収集して売買するというような処理が可能です。Pythonには、Requests、Beautiful Soup、Selenium、Scrapyといった、Webスクレイピングのためのライブラリがあります。

※Webスクレイピングは、一部のWebサイトでは禁止されています。Webスクレイピングを行う際には対象のWebサイトの利用規約、著作権を事前に確認し、サイトに負荷をかけないように注意しましょう。

ExcelやWordを用いた業務の自動化

ExcelやWordを用いた業務の自動化も、Pythonが得意とすることの一つです。2023年8月の発表で、Excelの分析機能が大幅に進化しました。Excel内のPythonを使用することで、セットアップを必要とせずにExcel内でPython分析とExcel分析を組み合わせて行えるなど、より業務の自動化が可能になりました。

Wordを操作するライブラリ「python-docx」を用いれば、ファイルを開かないで内容を編集したり、画像のみを別ファイルに保存したりできます。ある程度手順が決まっている業務であれば、これらを使って業務を自動化することも可能です。

\Pythonエンジニアのキャリア事例を紹介/

Pythonの学習方法

Pythonは学習コンテンツが豊富であり、無料コンテンツもあります。初心者にとっては学習を始めやすい環境が整っていると言えます。

学習のポイント

どのプログラミング言語でも言えることですが、プログラミング学習は反復して学ぶことが成功の鍵となります。知識をインプットし、実際にコーディングして動かすアウトプットを繰り返すことで、より確実に、効率的にスキルが身につきます。

また、教材を選ぶ際には直感で決めず、教材の全体を確認して自分のスキルに合っているかどうかを吟味するのがポイントです。もし自分で選べないのであれば、周りで活躍しているエンジニアや情報発信をしているエンジニアがお勧めしている教材を候補にするのも一つの手です。

学習コンテンツ例:学習サイト

初心者向けの教材選びのヒントとして、さまざまなサイトで紹介されている学習コンテンツをご紹介します。いずれも無料公開となっているコンテンツがあるため、学習の前にお試しとして教材を使えます。

Progate

Progateは、イラスト中心のスライドで学び、実際に製品やコンテンツを作りながらアウトプットして学べるサイトです。初歩的なレッスンの一部が無料となっています。Pythonの講座では基本的な使い方からプログラミング用語の解説まで、全7レッスンが用意されています。

Python |Progate

paizaラーニング

動画を用いた、オンラインのプログラミング入門学習コンテンツです。Pythonについては、Web開発やAI・機械学習、フレームワークのDjangoやFlaskの入門編の講座が揃っています。

「Python3」入門講座一覧 |paizaラーニング

Python-izm

Pythonの習得を目的としたサイトです。入門編、基礎編、応用編など習熟度やカテゴリに分けて学習できます。サイト全体はPython3系に対応済みですが、Python2との違いやPython 2系のコードも併記している箇所があるなど、昔の情報を探すこともできます。

Python-izm

ドットインストール

ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。Pythonについてもいくつか講座があり、無料公開中のものもあります。ブラウザ実行環境が用意されているため、動画で学習しながらブラウザ上で実践というように、インプットとアプトプットの循環で理解を深められます。

はじめてのPython|ドットインストール

Pythonのインストール方法

実際にPythonをPCにインストールする方法をご紹介します。パッケージのダウンロードからインストール、「Hello World」が表示されるまでの流れです。

なお、インストールするPCのOSはWindows11、Pythonのバージョンは3.11.4です。PCのOSによってインストール手順は若干異なるため、Windows以外のOSへインストールしたい場合は下記のページをご参照ください。

参考:Python環境構築ガイド|python.jp

パッケージのダウンロード

python.org より、Pythonをインストールする環境に合わせてパッケージを選択し、ダウンロードします。※下記画像は、Windows向けのパッケージの画面です。

インストール

ダウンロードしたパッケージを実行します。インストール画面が表示されるので、「Install Now」をクリックします。

※「Add python.exe to PATH」にチェックをすると自動的に PATH が設定されるため、インストール時にチェックしておくと良いでしょう。後からでもPATHの設定は可能です。

Python起動

Pythonを起動する方法にはいろいろありますが、ここではコマンドプロンプトを使用して起動します。

コマンドプロンプトを起動し、
python
と入力してEnterキーを押します。下記のような画面になれば、Pythonが起動したことになります。コマンドプロンプトの入力できる行が>>>となっているのがわかります。

なおWindowsの場合には、Pythonの代わりにPythonランチャーpyを使用することが推奨されています。pyを使うと、環境変数の設定を行わずにPythonを使えます。

【確認】Hello Worldを表示させる

コマンドプロンプトで命令を入力し、「Hello World」を表示させてみましょう。文字列の表示にはprint関数を用います。

コマンドプロンプト上で
print(“Hello World”)
と入力し、Enterキーを押します。

画面上にHello Worldが表示されました。

Pythonの基本文法で注意したいこと

最後に、Pythonでプログラミングを行うときに注意したい点をご紹介します。

変数の型を宣言する必要はない

Pythonは、オブジェクト指向言語です。数値や文字列などのデータはオブジェクトとして作られ、動的に型がつけられます。したがって変数の型を宣言する必要はありません。

インデントについて

ステートメントブロックは、他のプログラミング言語であれば{}などの記号で表現されます。一方Pythonでは記号を使わず、インデントで表現します。

公式のコーディング規約では、インデントはスペースで表現されることが望ましいとされており、タブとスペースを混在して使うことは禁止されています。

コメントについて

コメントを記載したい場合は#を用います。複数行にわたってコメントを記載したい場合には、「’(シングルクォーテーション)」または「”(ダブルクォーテーション)」を3つ指定します。

例1:
# Hello World出力
print(“Hello world”)

例2:
”’
print(“Hello world1”)
print(“Hello world2”)
print(“Hello world3″)
”’

その他コーディング規約

ご紹介したものも含め、コーディングに関する規約は、下記のサイトでまとめられています。Pythonのコーディング規約では、コードの可読性を重要視しています。規約に従うことを基本としながらも、読みにくいなどの理由があれば規約から外れることも容認されています。実際の開発に入る前に、一読しておくと良いでしょう。

参考:pep8-ja 1.0 ドキュメント

まとめ

Pythonの歴史から基本的な文法、学習の際につまずきやすい細かな事項まで、簡単にお伝えしました。人気のプログラミング言語を学習することには、将来性が担保されているほかに、学習コンテンツが充実していて学びやすいという隠れたメリットもあります。Pythonに興味を持ったら、ご紹介したドキュメントや開発環境を用いて、さらに学習に取り組んでみてください。

監修者プロフィール

永井 琢也
株式会社 Macbee Planet 入社後、データ解析プラットフォーム「ハニカム」の開発や、リバースETLツール「DATAHIVE」の新規開発に関わる。同社開発部門のプリンシプルでもある「Impact-driven(技術によって事業成長にインパクトをもたらそう)」をモットーに、技術選定から設計・開発まで幅広くこなす。
【株式会社 Macbee Planet HP (https://macbee-planet.com/)】
【永井 琢也 wantedlyプロフィール (https://www.wantedly.com/id/takuya_nagai_s )】

フリーランスになって年収アップを狙うならTECH STOCK!

TECH STOCKを運営するINTLOOP株式会社はコンサルティング会社としての経験・実績があるため、ご発注企業様との強い信頼関係があるのが特徴。直受け案件を多数紹介できることから、高単価案件をご案内することが可能です。

関連する記事

おすすめの記事

言語・職種
ITエンジニアに向いていない人の特徴は?悩んだときの解消法も解説

ITエンジニアになったばかり、あるいは未経験からITエンジニアになるための勉強をしている最中に「自分はITエンジニアに向いていないのではないか?」と不安を抱える人は少なくありません。この記事では、ITエンジニアに向いていない人の特徴と向いている人の特徴、ITエンジニアに向いていないと感じたときにすべきこと、悩んだときの解消法を解説します。

\高待遇・高報酬案件多数!/簡単60秒登録

言語・職種
ITエンジニアの将来性は?未経験からなれる需要あるエンジニアとは

近年、DX化やクラウドの浸透、またAIの進化にともない、ITエンジニアの需要が高まっています。一方で「ITエンジニアに将来性はあるのか」と、不安に感じる人もいるのではないでしょうか。この記事では、エンジニアへのキャリアチェンジを目指す上で考えなければならないITエンジニアのキャリアについて解説します。

\高待遇・高報酬案件多数!/簡単60秒登録

 

言語・職種
【React(リアクト)とは?】学ぶメリットやできることを詳説

Reactは、ユーザーインターフェースを構築するためのJavaScriptライブラリのひとつです。Reactのニーズが高まっている背景にはSPA(Single Page Application)の普及があります。本記事では、JavaScriptを学んだ初心者エンジニアに向けて、わかりやすくReactの概要や特徴、Reactを使用した開発事例、Reactを習得するメリット・デメリット、環境構築法などを解説します。

\JavaScript案件多数!/