Pythonとはどんな言語なの?プログラムのことを簡単に解説!

Python

AIによく使われているイメージのPythonですが一体どのようなプログラム言語なのでしょうか?構文を勉強する前にPythonの特徴を知っておきましょう!

Pythonの話をする前に基本的なプログラムについて簡単に説明しておきます。

プログラムの流れ

プログラムは以下のような流れで行われます。

  1. パソコンに指示を出す(入力)
  2. パソコンが計算する(演算)
  3. 結果を出力する(出力)

例えばこのページを訪れるのにWebブラウザ(ChromeやYahoo!)を使ったと思います。その際に以下のような流れでWebブラウザを使ったと思います。

  1. 調べたいキーワードを記述して検索ボタンをクリック(入力)
  2. 該当するサイトを検索(演算)
  3. 検索結果の表示(出力)

このようにプログラムは何かしらの入力を受けて演算をしてその結果を出力します。そして、プログラムは「ソースコード」と呼ばれるものでコンピューターに指示を出して行われています。

ソースコードとは?

ソースコードとはプログラミング言語で書かれた指示書です。今回に限って言えば、Python言語の決まりに則って書かれたテキストになります。このソースコードを実行することでコンピューターに指示を出すことができます。

しかし、ソースコードは「人が理解しやすいように書かれたもの」なのでパソコンは理解することが出来ません。なのでパソコンが解釈できるように「機械語」に翻訳する必要があります。

この翻訳に使われるプログラムこそが「インタプリタ」と「コンパイラ」です。察しの良い人は気付いたかもしれませんが、どちらのプログラムで翻訳するかで「インタプリタ言語」「コンパイラ言語」か決まります。

それでは、それぞれの特徴を見ていきましょう!

インタプリタとは?

インタプリタとは「ソースコードを1行1行翻訳しながら実行するプログラム」のことです。そのようなプログラムを使う言語のことを「インタプリタ言語」と呼びます(スクリプト言語とも呼びます)。

インタプリタ言語は、Pythonの他に「PHP」「JavaScript」「Rudy」などがあります。

インタプリタ言語の特徴

インタプリタ言語には以下のような特徴があります。

  • 処理が遅い
  • 手軽に実行できる
  • ソースコードの間違いが見つけやすい
  • 学習コストが低い言語が多い
  • Web系で使われることが多い

コンパイラについても見ていきましょう。

コンパイラとは?

コンパイラとは「必要な全てのソースコードを翻訳する」必要があります。

たとえ「この1行の結果が知りたい」と思っても毎回すべてのコードを翻訳しなければなりません。とても面倒ですが翻訳してしまえばあとは実行するだけなので処理速度はこちらの方が早いです。

また、ソースコードをコンパイル(コンパイラを使って翻訳すること)すると機械語に翻訳されたファイル(バイナリコード)が生成されます。このバイナリコードを実行することで結果を受け取ることができます。

このように「コンパイラ」を用いてソースコードを翻訳する言語のことを「コンパイラ言語」と呼びます(コンパイル言語とも呼びます)。

コンパイラ言語には、「C」「C++」「Java」などがあります。

コンパイラ言語の特徴

コンパイラ言語には以下のような特徴があります。

  • 処理が早い
  • 手軽に実行できない
  • ソースコードの間違いが見つけづらい
  • 学習コストが高い言語が多い
  • 組み込みやゲームなど広く使われる

実行時の違い

「違いがよくわからんわ」と思われた方もいると思うので実行例を見てみましょう!

例えば、Pythonファイルの「hello.py」とC++ファイルの「hello.cpp」があったとします。この2つのファイルを実行する時の違いを見てみましょう。

Pythonの場合

hello.pyを実行して結果を出力

C++の場合

  1. hello.cppをコンパイルしてバイナリコードを生成
  2. バイナリコードを実行して結果を出力

このように、コンパイル言語はソースコードを実行するために一手間かかってしまいます。インタプリタ言語にはその手間が無く手軽に実行できるというわけです。

Pythonの仕事

インタプリタ言語は処理速度が遅いので複雑な演算や速度が重要な場合ではあまり推奨されません。なので、パラメータの受け取りや結果の出力などをPythonで実装して実際の計算は他の高速な言語に任せたりします。

他の言語が使えないといけないの?

そんなことはありません。

どの言語にも言えることですが、全ての機能を自ら実装することは稀です。じゃあどうするのかというと「フレームワーク」や「ライブラリ」というものを使います。

フレームワーク

アプリケーションの土台をちゃちゃっと作れるソフトウェア。これにオリジナルの要素を追加するだけで新しいアプリケーションを作ることができる。

ライブラリ

便利な機能がまとめられているファイル。ソースコードから読み込んだりして使うことができます。

例えば、PythonでWebアプリケーションを作成する場合には「Django」というフレームワークを使いますし、機械学習には「scikit-learn」というライブラリを使用します。

Pythonには多くのフレームワークやライブラリが存在しています。作成したいアプリケーションのフレームワークや実装したい機能のライブラリを検索すると無数にヒットすることでしょう。

Pythonを使いこなすということは「ライブラリを使いこなす」と言っても過言ではありません。

まとめ

今回はPythonについて解説しました。

Pythonは比較的学習コストが低く、人気の高い言語です。

この機会にPythonを学んであなたもプログラムの世界へ飛び込みましょう!

タイトルとURLをコピーしました