スキルアップ

Pythonとはどんな言語?最初に押さえた全体概要まとめ

はじめに

Pythonを学び始めて、文法はやさしいとよく言われますが、
そもそも「Pythonってどんな言語なの?」
というところから理解するのも、
初心者にとってはなかなかのハードルです。

私も、PythonがAI開発によく使われている
という漠然としたイメージは持っていました。

しかし、実際に学び始めてみると、
思っていた以上に幅広い分野で使われていること
Pythonのルールや仕組みにまだ慣れないところも多いです。

変数や文法といった実際のプログラミングについての作法は、
この記事ではなく、次回以降の記事で順次まとめていきます。

まずは、私が学んだ
「Pythonってこういう言語なんだな」
と実感した基礎的な全体概要の知識を、
できるだけわかりやすく整理して紹介していきます。

この記事はこんな方におすすめです!

  • Pythonをこれから本格的に
    学びたいと思っている方
  • まずは全体像をざっくり理解したい方
  • Pythonの特徴や環境について
    調べている初心者の方
  • 書籍を読みながらも、
    つまずきがちなポイントを補足したい方


第1章:Pythonの特徴と用途

Pythonは今、話題になっているAI
(機械学習や深層学習)への活用だけではなく、

WebアプリやIoT、さらには組み込み系やセキュリティ分野に
まで幅広く使われている言語
です。

  • Webアプリ:
    Django、Flaskなどのフレームワークを使って、
    効率的にWebサービスを構築
  • IoT:
    Raspberry PiやESP32などで
    動くMicroPythonが人気で、
    ハードウェア制御と連携できる
  • 機械学習/深層学習:
    TensorFlow、Scikit-learn、PyTorch
    といったライブラリとの相性が抜群

これだけ多用途に使える理由は、
文法がシンプルで初心者にもわかりやすく、
ライブラリやフレームワークが充実しているため

その結果、さまざまな分野で共通して
学ぶことができる強みがあります。


名前の由来

意外に知られていませんが、
Pythonという名前はイギリスBBCのコメディ番組「Monty Python’s Flying Circus」からきています。

実は創造者のGuido van Rossum氏がこの番組の大ファンで、
「真面目すぎず、遊び心のある印象」
をプログラミング言語にも反映したかったそうです。

この由来のおかげで、Pythonコミュニティにも
ユーモアやフレンドリーな文化が根付いているらしいです。
※私はコミュニティーはまだ全然みてないので、
ふんわり見た程度です


インタープリタ言語である

Pythonは コンパイル不要のインタープリタ言語 です。

コードを一括で「コンパイル→実行」するのではなく、
書いたコードをその場で読み取りながらすぐ実行できます。

  • メリット:
    • 「試しながら学ぶ」
      「小さな機能から動かす」
      といったスタイルに向いている
  • デメリット:
    • 全体をまとめて実行してから
      バグに気付くよりも、書いた先から
      順に止まる・エラー出力がある

例えば、構文エラーがあっても、
プログラムの実行自体はその部分まで実行
されます。
しかし、構文エラーの箇所で、処理は止まり、
以降の処理は実行されません

エラーの場所がわかりやすい一方で、
「実行中に途中までしか動かない」
という挙動を意識する必要があります。


多言語連携もできる拡張性

PythonはCやC++のコードをモジュールとして
取り込んで使う 拡張機能 を備えています。

これにより、速度が求められる部分をCで書いたり、
既存コードを活かしたりすることも可能
です。
必要に応じて強力な他言語と組み合わせられる柔軟性があります。


第2章:Pythonエンジンのしくみと内部の動き

Pythonは「手軽で書きやすい」イメージがあります。

その背景ではインタープリタ、コンパイラ、バイトコード、
仮想マシンといった複数の工程を経て動作
しています。

実際のプログラムコードを書くときは
あまり意識しない点かもしれません。

しかし、「Pythonが裏でどのように動いているか」
といった内部の仕組みを理解しておくと、
実際にコーディングやデバッグする際にも
「なぜこの動きをするのか」がはいりやすくなります。


インタープリタ型+バイトコードのしくみ

Pythonの特徴でも触れましたが、
Pythonはプログラミング言語の中でも
インタープリタ型言語」に分類されます。

Pythonのインタープリタは、
実際には以下のように動作しています。

  • ソースコードを拡張子「.py」 のファイル
    に保存(ソースファイルの作成)
  • 実行時にPythonコンパイラがソースファイルを
    「バイトコード」に変換
  • バイトコード(拡張子「.pyc」のファイル)は
    Python仮想マシン(PVM)上で実行
  • PVMが、バイトコードを
    CPUが理解できる命令へと変換し、実行

この仕組みにより、Pythonは書いたコードを素早く動かせつつ、
内部では仮想マシンによる効率的な実行を実現
しています。


コンパイルと実行の違い

「コンパイル型言語」のC#やJavaでは、
事前に一括でコンパイルし、
生成された実行ファイルやバイトコードを実行
します。

一方、Pythonは実行と同時にコンパイルも行われる仕組みです。

  • メリット:
    すぐ実行して学習しやすい
  • デメリット:
    コード全体ではなく、書いた部分から順にしか
    エラー検出できない
    構造

エラー処理のしくみ

Pythonは実行時にバイトコードを読み取り、
一部だけ実行しつつ、構文や実行エラーに遭遇すると
その時点で停止
します。

そのため、最初に書いた行が正常でも、
後続コードで止まる
という動きをします。

この特徴は、IT未経験の学習者にとっては、
逆に「どこがダメなのか」を特定しやすいのかなと感じています。


文字コードとエンコーディング

Python 3では、ソースコードの文字コードは基本的にUTF-8です。
UTF-8は、世界中の文字を扱えるUnicodeベースで、
文字化けの心配を大幅に減らします 。

もし、Shift_JISなど別のエンコーディングを使いたい場合は、
ファイルの先頭に以下のような
エンコーディング宣言を追加することで
文字コードを指定することも可能です。

# -*- coding: shift_jis -*-

これはPEP 263という仕様で、
Pythonソースにおける文字セットを明示する手段です。


第3章:開発環境(IDE)の選び方と使い方

Python学習をするときに悩むタネの1つが
「どの環境で書けばいいの?」という部分です。

IDE(統合開発環境)や対話環境には様々な選択肢があり、
用途によって向き不向きがあります。

Pythonの開発では、以下が主に使われる開発環境です。

  • JupyterLab
    試しながら学ぶ・分析するのに最適
  • PyCharm
    本格開発向きの万能IDE(補完・デバッグ充実)
  • VS Code
    軽さ&拡張性があり、幅広い用途に対応
  • Spyder
    データ分析・科学分野で特に便利

個人的には、とりあえずITが完全未経験で
プログラミングを学んでみたい
というレベル感なら「JupyterLab」、
今後の副業や業務を見据えたいなら、
「PyCharm」かなとおもっています。

私は学習環境も「PyCharm」を利用しています。

それぞれの開発環境の特徴を簡単にまとめているので、
気になるものがある場合は、それを利用するで
全然良いのかなと思っています。

また、複数の環境に触れてみて、
「自分がストレスなく使えるか」も大事です。


JupyterLab(学習・データ分析に強い)

  • 特徴
    ノートブック形式で、
    コードと文章・図表を交互に記述できる
    対話的で学習やデータ分析に最適
  • メリット
    • 結果を目で見ながら確認できる
    • Markdownによる説明を混在できるため、
      ドキュメント作成にも向く
  • 注意点
    大規模なコード管理やバージョン管理はやや苦手

PyCharm(本格開発向け)

  • 特徴
    JetBrains製のPython専用IDE、
    Community(無償)版と
    Professional(有償)版がある
  • メリット
    • コード補完、デバッグ、リファクタリング、
      バージョン管理に対応
    • ProfessionalではJupyter統合や
      DjangoなどWeb開発も強い
  • 注意点
    起動や動作がやや重い(?)

VS Code(軽量&拡張性重視)

  • 特徴
    Microsoft製の軽量コードエディタだが、
    拡張機能でIDE的に拡張可能
  • メリット
    • 拡張から選べる軽快さ
    • Jupyter用拡張でNotebookも扱える
    • GitやDocker連携が可能
  • 注意点
    設定や拡張にやや手間がかかることもある

Spyder(科学技術計算向け)

  • 特徴
    データ分析・科学計算に特化したIDE
    (Anacondaによく同梱されている)
  • メリット
    • 変数エクスプローラや
      プロファイリングツールを内蔵
    • デバッグも対応
  • 注意点
    汎用開発には少し特殊

第4章:Python対話モード(REPL)の使い方

Python学習において、対話モード(REPL)
「まずここで試そう」となる便利な環境です。

面倒なソースファイルの作成なしに、
その場でコードを動かせます。
REPLの基本から、起動後に出るメッセージの意味、
プロンプトの種類、履歴、活用例までを紹介していきます。


対話モードとは

REPLとは「Read–Eval–Print Loop」の略で、
読み込み→評価→出力→繰り返しができる対話式の実行環境です。

実際に、コマンドラインで python
(または python3(UnixやmacOS環境の場合))と入力すると、
以下のようなメッセージが表示されます。

Python 3.11.0 (main, Nov 6 2022, 13:27:29) [...]              [st-br /]→ ⓵
Type "help", "copyright", "credits" or "license" for more information.  [st-br /]→ ⓶
>>>                                                                      [st-br /]→ ⓷
  • 最初にバージョン番号などが表示
  • 続いて "help", "copyright",
    "credits", "license"
    のコマンドの案内
    ※ヘルプ情報や著作権情報を
    確認するためのコマンド
  • 最後に 一次プロンプト >>> が表示

起動方法(Windows / Unix)

  • Windows
    Command PromptやPowerShellで
    python と入力
  • macOS/Linux(Unix)
    Terminalで python3 と入力

起動すると上記の情報が表示され、
結果として即REPL環境へ入れます。

help() と入力すると、
使い方案内が確認できて初心者にはうれしい機能です。


プロンプトの使い分け

  • >>>
    一次プロンプト
    式や単一行のコードを入力
  • ...
    二次プロンプト
    複数行の構文(defiffor など)を
    継続入力中に表示

例えば以下のようになります。

>>> if True:
...     print("Hello")
...
Hello
>>>

... はあくまで「継続入力中であること」を示すだけで、
入力せずにEnterを押すと一次プロンプトに戻ります。


利用履歴と履歴ファイル

REPLで入力したコマンドは矢印キー(↑↓)で呼び出せます。

また、コマンドの利用履歴は自動的にファイルに保存されます。

その履歴はホームディレクトリの
.python_history に保存され、
次回REPL起動時にも呼び戻せるありがたい機能です


REPLを使うメリットと活用例

REPLはいつでも起動できる便利な環境で、
以下のような場面で役立ちます。

  • 文法を試す
    例えば 4 * 9 + 6 のような式を即実行できる
  • 関数の動きを確認
    例えば関数定義をすぐ試せる
  • ライブラリを探索する
    help(str) などで
    組み込みオブジェクトの使い方確認
  • 簡易デバッグ
    特定のコード片を動かして挙動をチェック

終了方法

REPLは以下のいずれかで終了させることができます。

  • exit() または quit() を入力
    ※最近のPythonでは exitquit だけ
    入力してEnterでも終了できます
  • Ctrl+Z+Enter(Windows)
    または  Ctrl+D(Unix/mac)

第5章:コメントの書き方とソースファイルの基本ルール

Pythonコードを書くときに欠かせないのが、
コメントソースファイルのルールです。

読みやすさと保守性を高めるために、
ここで一通り押さえておきましょう。


単行コメント(#

  • # を使って、1行だけのコメントを書く
  • コードの後ろに追記して説明を書いたり、
    行全体をコメントアウトしたりできます。
# これは単行コメント
print("Hello")  # ここで画面に出力

コメントはコードとは無関係に書かれるため、
補足や読み手への注意書きとして使われます。


複数行コメント

Pythonには公式な複数行コメント用の構文はありませんが、
2つの方法が一般的です。

# を複数行に使う

# 複数行コメントの例
# 各行に # をつけるスタイル

トリプルクォートによる擬似コメント

"""
これは実際には文字列リテラルで、
コード内で使われなければ無視されます。
"""

トリプルクォートは「'」もしくは「"」の3連引用符です。

ただし、これは本来の用途としては
「ドキュメンテーション文字列(docstring)」や
「文字列リテラル」であり、
Pythonにコメントとして認識されているわけではありません。

IDEやエディタではコメント用途で
サポートされることもありますが、
ドキュメント用途にはdocstringを使い、
単に説明したいだけなら # の複数行記法が推奨
されています。


docstring(ドキュメンテーション文字列)

関数・クラス・モジュールの冒頭に配置するトリプルクォートは、
docstringと呼ばれ、__doc__属性や help()
によって参照される正式な文書です。

以下のように使います。

def greet():
    """この関数は挨拶を出力します"""
    print("Hello!")

PEP 8ではドキュメント用途にトリプルクォートの使用が推奨。


ソースファイルの拡張子 .py

Pythonのソースファイルは.py 拡張子で保存します。

IDEやエディタはこれを認識して
Python用の補完や構文チェックを有効化します。
ファイル名にはスペースを含めず短く意味のある名前
を付けるのがベストプラクティスです。


文字エンコードとエンコーディング宣言

Python 3のソースファイルはデフォルトでUTF‑8
日本語なども問題なく扱えます。

しかしShift_JISなど他の文字コードを使う場合、
最初の行にエンコーディング宣言を付ける必要があります。

# -*- coding: shift_jis -*-

これはPEP 263で定められた方法で、
宣言することで読み込み時の文字化けを防ぎます。


第6章:まとめ&次回予告

今回は、Pythonという言語の概要から始まり、
そのしくみ、開発環境、対話モード、コードの基本ルールまで、
Pythonをこれから学ぶ人が押さえておきたい
「土台」となる知識をまとめてきました。

最初はとっつきにくく感じるかもしれません。

実際に手を動かしながら、
今回紹介したREPLやIDEを使ってコードを書く練習をすることで、
徐々に慣れていくはずです。

Pythonの魅力は、「誰でも書けるシンプルさ」と
「深くまで使いこなせる柔軟さ」の両立にあります。

▶次回の記事はこちら:

-スキルアップ