これからプログラミングを始めたい、勉強したい人。
また、すでにPythonを学習している人。
そのような人に向けて、「なぜPythonはオススメできるのか?」について解説しています。
この記事を読むことによって、Pythonへの理解が深まり、
- 学習のモチベーションが上がる
- 学習を継続できる
- Pythonにもっと興味を持てる
ということが期待できます。
ぜひ、最後までご覧ください。
記事の概要
この記事では、
- なぜ僕が Python をメインに開発しているのか?
- 他のプログラミング言語との違いは?
- Python ってどういう特徴があるの?
という点について「ざっくり」解説しています。
初心者向けの説明となるため、分かりやすさを重視しています。
そのため、厳密さには欠けますので予めご了承ください。
なぜプログラミング初心者に Python がおススメなのか?
これはいくつか理由がありますが、主な理由は
- カンタン、分かりやすい、余計な記述がいらない
- 開発環境が簡単に用意できる(Python のインストールだけ)
- ライブラリが豊富で面倒な処理も数行でできる
という点が挙げられます。
どれくらいカンタンなのか?他の言語との比較
例えば、代表的なプログラミング言語である「Java」や「C#」と比べると、その手軽さは歴然です。
下の図は、C# で「Hello world!」を出力するための記述です。
いわゆる「オブジェクト指向」なプログラミング言語が主流ですが、C# ではクラスに記述しなければなりません。
そのため、「Hello world!」だけを出力するのにこれだけ書かないといけないのです。
その点、Python もオブジェクト指向言語ではありますが、クラスは必須でありません。
先ほどと同じように「Hello world!」を出力するためには print文 1行 でOKです。
もちろん、大規模なアプリケーション開発では必ずクラスが使われていますが、プログラミング初心者にとってクラスの概念が分からなくても英語感覚でプログラムできるのは嬉しい限りです。
ちなみに、Python ではクラスの記述も分かりやすく、継承やインスタンスなどの概念も他の言語に比べると分かりやすいです。(個人差はあるでしょうけれど、、、)
Java や C# で挫折した方には声を大にして言いたい。
「Pythonならプログラミングが身に付くよ!」
Pythonの特徴をざっくり紹介①
ここまでの解説で、Python は分かりやすくプログラミング初心者におススメなことはご理解いただけたでしょうか。
具体的に、他の言語と比べてどのような特徴(違い)があるかをいくつかご紹介します。
インタプリタ言語
カンタンに言うと、コンパイルしなくても実行できるので、エラーが出たらちょっと直してすぐ実行!みたいなことができます。
*コンパイルとは、[プログラミング言語] をコンピュータが理解できる [マシン語] に翻訳すること
Java や C# では、エラーが出たら直してコンパイルして実行、という手順が必要ですが、Python はすぐに再実行することができます。
コードが読みやすい、シンプル
他の言語に比べると、英語の文法のように記述できて分かりやすいです。
例えば、繰り返し処理を行う for文 の場合、
for(int r = 1; r <= 10; r++){
処理を記述
}
となります。
プログラミングが普通に理解できる方は、
「あぁ、10回繰り返すのね。」
とすぐに理解できる程度の記述です。
しかし、プログラミング初心者にとって、これはすぐに分かりません。
一方、Python の場合、
for i in range(10):
処理を記述
となります。
上の例では、range関数 のことが分からなくても、なんとなく「10回繰り返す」ということが理解できそうです。
ライブラリを活用して複雑な処理を数行で記述できる
例えば、AI 分野 で「顔を認識して枠を付ける」というスクリプトを記述する場合、[OpenCV] と [InsightFace] を利用すると 10行 ちょっとでできてしまいます。
実行すると、
顔を認識した座標を出力し、認識した顔の数を出力します。
※ここでは「faces:6」と表示
認識された顔に赤い枠が付いていますね。
これが 11行 のスクリプトでできていることに驚きませんか?
もちろん、認識するためのスクリプトの行数は数行ですが、認識するために必要な膨大なモデルデータがダウンロードされていることを補足しておきます。
Pythonの特徴をざっくり紹介②
もう少しマニアックな話をご紹介します。
実行速度が遅い
Python は他の言語と比べて 実行速度が遅い という点は、Python のデメリットとして紹介されることが多いですね。
動的型付け言語
Python で変数を利用する場合、型を宣言しなくても動きます。
name = 'papa3'
age = 100
ただし、これは必ずしも 良い点 = メリット とは言い切れず、個人的には型を定義した方が良いと考えます。
name = 'papa3'
age = 100
print(name + 'は' + age + '歳です')
上記を実行すると、エラーが出ます。
その理由は、str型 と int型 が混在したままだからです。
この場合は 型変換 をするのですが、型を定義しないと分かりづらくなる場合があるので注意が必要です。
name = 'papa3'
age = 100
print(name + 'は' + str(age) + '歳です')
*この辺の理屈が分からないという方は、そういうものなんだなぁと思ってください。
papa3は100歳です
また、Python は「プログラミング言語」ではありますが、より正確には「スクリプト言語」です。
この件については、こちらの記事で詳しく説明していますので興味がある方はご覧ください。
Python で開発されたアプリケーション(サービス)
最後に、Pythonで開発されているアプリケーションやサービスをご紹介します。
おそらく、多くの方がご存知であろうサービスが、実は Python で開発されています。
誤解のないように補足しておくと、「Python で開発された」と一口に言っても、
「そのサービスがすべて Python だけでコーディングされている」
という意味ではありません。
特に、ウェブアプリケーションについては、ブラウザで表示する部分 = フロントエンドは HTML や CSS 、JavaScript で書かれていますが、フォームに入力された情報の処理やデータベースとの連携という「処理」=バックエンドを Python で記述されているということが多いのです。
フロントエンドとバックエンドについて詳しく知りたい方はこちらの記事をご覧ください。
もっとも、最近では「ウェブアプリケーション」と「アプリ」の境界は利用者にとってどうでもいいことかもしれませんね。
まとめ
今回はプログラミング言語Pythonについて、他の言語との違いを紹介しながら特徴を解説しました。
Python の魅力が少しでも伝わり、好きになってもらえたら嬉しいです。
本当に「ざっくり」と解説しましたが、もっと知りたいという方はぜひフォームやコメントでお知らせください。
*Pythonについて詳しく知りたいという方は、こちらの書籍もおススメです。
それでは、ステキなPythonライフを!