Pythonはなぜ人気なのか?
こんにちは、システムエンジニアのようへいです。
IT業界の方であれば、多くの方がPythonというキーワードを聞いたことがあると思います。
Pythonは数ある開発言語の1つなのですが、なぜ人気なのでしょうか?
この記事では、その理由に迫っていきます。
Pythonってどんな言語?
Pythonと書いて、パイソンと読みます。
インタプリタ型(※1)のオブジェクト指向の動的型付け(※2)言語。
Web開発やデータ分析、統計学、機械学習など、さまざまな分野に使える汎用性の高い言語です。
他の開発言語と比較すると言語仕様(=コードの文法)が簡単なため学習コストが低く、独力でも十分覚えやすい言語と思います。
また、書きやすく読みやすい、という特徴があり、生産性に寄与できる言語です。
コードのイメージはこんな感じです。
インデントに意味があるオフサイドルールでコードを書いていきます。
def _adjust_time(time_val):
"""
各種タイムの文字列をtimeに変換できるように補正します。
Parameters
----------
time_val : 補正対象のタイムの文字列
Returns
-------
補正したタイムの文字列
Raises
------
なし
"""
wk_val = time_val.replace(':', '.')
# タイムに"分"を補完する
wk_ary = wk_val.split('.')
if len(wk_ary) == 2:
if wk_ary[0] == '60':
# 60.x秒のタイムは、1.00.xに変換
wk_val = '1.00.' + wk_ary[1]
else:
wk_val = '0.' + wk_val
else:
# 秒が60秒の場合、分をインクリメント
if wk_ary[1] == '60':
wk_val = str(int(wk_ary[0]) + 1) + '.00.' + wk_ary[2]
return wk_val
※1:命令を逐次解釈しながら実行するプログラムのこと。
※2:変数や関数の引数、返り値の型を、インタープリタが実行時にデータの型を解釈・決定して扱う方法。
つまり、変数や関数の宣言時に、型を指定しない。
Pythonの歴史
最近よく注目されていますが、実は1991年生まれの言語なのです。
今から32年前に開発された言語なんですね。
(この頃自分は小学校1年生。Pythonリリースのことは気にもしていませんでした。)
開発者は、オランダ出身のグイド・ヴァンロッサム(Guido van Rossum)。
ちなみに
1989年12月に「クリスマスの暇つぶし」として開発がスタートそうです。
もっと有意義にクリスマスを過ごせば良いのに・・・、とか思っちゃいますが、振り返ると、そういう自分も年末年始、クリスマス関係なくPython触ってます。
メジャーバージョンアップの時期を整理すると以下になります。
1991年:Python 0.9リリース
1994年:Python 1.0リリース
2000年:Python 2.0リリース(2010年の2.7まで続く)
2008年:Python 3.0リリース
2023/10/24時点の最新バージョンは 3.12
Pythonが人気の理由
ざくっと9個出してみました。
シンプルで読みやすい
Pythonの構文は非常にシンプルで読みやすく、初心者プログラマやベテランプログラマーの双方にとって使いやすい言語です。
他のプログラミング言語と比較すると、覚えなければいけない文法が少ないことがシンプルな理由の1つです。
インデントによるブロック構造(オフサイドルール)と簡単な命令を使うことで、可読性が高まります。
書きやすい・読みやすい
Pythonは人間が理解しやすいように作られた言語(= 高水準言語)です。
機械語ではないので、人間による読み書きが行えます。
文法もシンプルなことから読みやすさに定評があります。
ライブラリも豊富なので、比較的短い文字数で多くの命令が書けるのも特徴です。
クロスプラットフォーム対応
Windows、Mac、Linuxという現在の主要OSをサポートしているため、さまざまなプラットフォームで動作させることができます。
また、近年ではクラウドの実行環境であるGoogle Colaboratoryでの利用もできます。
つまり、プラットフォームを選ばずPythonを選択できるのが大きな強みと考えています。
充実したライブラリ
機械学習に特化したライブラリや、統計学に特化したライブラリなど、汎用的なものから尖ったものまで幅広いライブラリが容易されています。
色んなジャンルのライブラリが充実していることで、こっちの業務はJavaで、機械学習はPythonで、なんてことはしなくても、Python一択でビジネスロジックを記述することができます。
実現できることが多い
上記「充実したライブラリ」と少し重複しますが、機械学習やデータ分析のほか、Webアプリ、デスクトップアプリも作ることができるので、オールラウンダーな言語と言えます。
日本語リファレンスが豊富
リファレンスが豊富なので、ちょっと躓いても日本語でググれますし、いろいろと答えも返ってきます。
なんならChatGPTでもコードTipsが貰えます。
オブジェクト指向
オブジェクト指向プログラミング言語であるが故、再利用性の高いコードを書くことができます。
オブジェクト指向のメリットがPythonにもそのまま活かされています。
オープンソース
Pythonはオープンソースであり、誰でも無料で利用でき、カスタマイズや改良が可能です。
Pythonのコミュニティは非常に活発で、新しいバージョンやライブラリの開発が継続的に行われています。
データサイエンスに向いている
なんといっても、データの分析や機械学習に対応したライブラリがあるおかげで、データサイエンスが非常にやりやすいです。
これがPythonの1番のメリットかな、と思っています。
AIのみならず、オペレーションズリサーチにも対応しているので、解決したい課題に対し、AI(推論)を採用するか、オペレーションズリサーチ(数式)を採用するか、どちらも選択肢に挙げることができます。
まとめ
Pythonが人気である理由はわかりましたでしょうか?
生産性の高さや、近年の流行であるデータサイエンスの領域に強みがあるのが人気の秘訣かな、と思います。
日本語リファレンスが多いことも人気を後押しする要因になっているのではないでしょうか。
Pythonを覚えることで、Webアプリが作れたり、AIモデルも作れたり、できることの幅が一気に広がると思います。
Pythonは覚えて絶対に損はない言語だと、エンジニアの観点からも思いますので、ご興味ある方はぜひ取り組んでみてください!
ちなみに、以下の記事にある自作の競馬予想支援システムは、全てPythonで作りました。