【Python入門】5分で理解する「Pythonとは?」



Pythonとは?

Pythonとはプログラミング言語の1つです。

プログラミング言語自体の際立った特徴としては、視認性・可読性を非常に重視しており、「誰が書いても同じコードになる」ように作られています。

とは言え、一つの処理に対して書き方は一つしかないのか?と言われればそんなことはありません。

あくまで、そう言う思想の元設計されているという話です。

実際僕自身、いくつかの言語を習得していますが、「Pythonで書いたコードは読みやすい」と感じます。

自分で書いたコードでもしばらく時間が経ってから見ると、「何してんだ?コレ?」ってなることがあったりしますが、Pythonで書いたコードではそれが少なくなります。

また、ここ2、3年では、AI(人工知能)やディープラーニングと言ったキーワードがどんどん注目を浴びる中、それらのジャンルではPythonが利用されることが多いようです。

Pythonで作れるもの

python自体は特化型言語というより汎用的な開発言語です。

用途が限定的になることはなく、スタンドアロンのデスクトップアプリケーションから、フレームワークを用いたWEBアプリケーション、 ディープラーニング 、ロボットの制御など、多方面に渡って広く利用されています。

Pythonの特徴

先にも説明したように、大きな特徴として、「オフサイドルール」を挙げることができます。

オフサイドルールとは?


オフサイドルール(Off-side Rule)とは、一部のプログラミング言語において字下げによって文などのかたまりの範囲(ブロック)を示す規則である。すなわち、そのような言語ではブロックは字下げによって形成され識別される。この用語と考え方は Peter J. Landin によるもので、ここでのoff-sideは「(左端)側から離れる」という意味だが、これはサッカーなどの球技におけるオフサイド規則 (offside law) のもじりと考えられる。
レイアウト・ルールと呼ぶこともある[1]

ja.wikipedia.org

つまり、分かりやすく言うと、Pythonで書いたプログラムは「インデントを強制される」ということです。

他のプログラミング言語ではインデントは「見やすくする」以外の意味を持たない(インデントなしでも動く)ことがほとんどですが、Pythonでは構文構成上の意味を持ちます。

つまりインデントを付けないで書いたプログラムは動きません。

この制約(インデントを強制すること)により、誰が書いても一定以上の視認性・可読性を担保しています。

Pythonを使うメリット

1.すぐ動く

基本的にLinux上では面倒な設定やインストールなしで大体動きます。

プログラミング言語の開発環境の導入というのは非常に面倒なものです。専用の開発環境を一々構築して、なんか動かなくて「う~ん・・・?」ってなる時間が少なくて済みます。

2.ライブラリが豊富

ライブラリというのは簡単に言うと「すでに作られたプログラムの部品」です。Pythonでは "import ○○" と書くだけで簡単にそれらが使えるようになります。

Python自体が開発されたのは1991年とそこそこ歴史のある言語です。

必然、「誰かがすでに書いている」ことも多いわけです。

昨今、AIやディープラーニングの開発がPythonによって盛んにおこなわれているのは、ライブラリが整っているというのが大きな要因のようです。

3.メンテナンスがしやすい

上で可読性の高さが特徴と書きましたが、基本的に誰が書いても一定以上の可読性が担保されています。

後で見て「何やってっか分かんねーから、先月辞めたあいつに電話しねーと・・・」ってなることも少なくて済みます。

Pythonを使うデメリット

1.仕事がない

昨今注目されているとは言え、国内では求人数は少なめ。

ただ、恐らくですがPHPなど求人の多い言語と比べ、Python自体を習得している人数自体も少ないため、需給バランス的にめちゃくちゃ不利かと言われるとそんなこともない気がします。

2.遅い

スクリプト言語全般に言えることかもしれませんが、決して早くはありません。CPUバウンドな内部処理は苦手中の苦手と言ったところでしょう。

デメリットというよりは特徴と言った方が正しいかもしれません。

Pythonライブラリの中の一部では、重い処理をこなす部分はCを使って書かれていたりするパターンもあり、一概に言い切れない部分もあります。

Pythonで作られた(作られていた)サービス

  • Youtube
  • Evernote
  • Instagram
  • DropBox
  • etc...

相当有名なWEBサービスばかり並べてみましたが、全てPythonで作られているようです。

夢と希望しかないですね。

まとめ

Pythonは夢と希望で溢れている。