この記事では、当社の新人エンジニア研修の参考として、Python を解説します。
第一章では、初めて Python を学ぶ皆さんが知っておきたい基本事項や考え方をまとめました。
1. Python 言語の特徴
Python の特徴(または、当社新人エンジニア研修で Python を選択している理由)は以下の 4 点です。
- クロスプラットフォーム環境
Python は Windows、macOS、Linux など各種 OS で公式のインタプリタが提供されており、どこでも実行可能です。 - 多様なプログラミングパラダイムのサポート
Python はオブジェクト指向だけでなく、手続き型や関数型といった複数のパラダイムをサポートしており、プログラミングの基本概念を学ぶのに適しています。 - 幅広い活用分野
データサイエンス、機械学習、Web アプリケーション、スクリプトによる自動化など、幅広い分野で利用されているため、どの部署に配属されても役立ちます。 - シンプルな文法と他言語への橋渡し
文法がシンプルで読みやすく、初心者でも理解しやすい点はもちろん、他の言語(C、Java、JavaScript など)との共通概念も多いため、後々の他言語習得にも役立ちます。
調べてみましょう
なぜ様々なプログラミング言語が存在するのでしょうか?
例えば、以下のような点に着目して、インターネットで調べてみてください。
- Python と C 言語との関係
- Python の主要な実装である CPython は C 言語で書かれており、低レベルの処理や高速化のためのライブラリ実装に C/C++ の知識が役立ちます。
- Python と C++ との関係
- 数値計算や機械学習ライブラリ(例:NumPy、TensorFlow)の内部は C++ で実装されていることも多く、オブジェクト指向の基本概念は両言語で共通しています。
- Python と Java との関係
- 両言語はオブジェクト指向をサポートしていますが、Python は動的型付け・簡潔な記法で、開発速度やコードの読みやすさが特徴です。
※Java の静的型付けや厳格な構文ルールは Python には当てはまりません。
- 両言語はオブジェクト指向をサポートしていますが、Python は動的型付け・簡潔な記法で、開発速度やコードの読みやすさが特徴です。
- Python と JavaScript との関係
- 両者とも初心者に人気があります。Python はサーバサイドやデータ処理に強みがあり、JavaScript は Web フロントエンドやイベント駆動型プログラミングが中心です。
2. Python プログラムの実行
Python では、プログラムコードは基本的にインタプリタによって直接実行されます。
内部的には、ソースコードが自動的にバイトコード(.pyc ファイル)にコンパイルされ、Python 仮想マシン(PVM)上で実行されますが、このプロセスはユーザーが意識する必要はほとんどありません。
例:Hello World プログラム
以下のコードをエディタに入力してみましょう。
print("Hello World")
注意点:
- キーボードから入力する際、全角と半角の区別に注意してください。数値や英字は半角で入力する必要があります(IME の設定変更を行うなどの対策をお勧めします)。
保存先は、例えば C ドライブ直下の python
フォルダなどに新規保存し、ファイル名は example01.py
とします。
コマンドラインでの実行
以下のように実行してみましょう。
また、今後は IDE(例:PyCharm、Visual Studio Code など)を活用すると、ワンクリックで実行できるため、より効率的に開発できます。
3. エラーを恐れない
プログラム開発ではエラーはつきものです。積極的にエラーを発生させ、その原因を探ることが上達の秘訣です。
エラーの例
以下の例は、ダブルクォーテーションとシングルクオーテーションと、かっこの対応が取れていないためエラーになります。
print("Hello ')
実行すると、Python は「SyntaxError: unterminated string literal (detected at line 1)」といったエラーメッセージを表示し、プログラムは終了します。
エラーメッセージには、どの行で何が起きたか重要な情報が含まれているので、必ず読んで理解する習慣をつけましょう。
4. プログラムはメモリ上にロードされて実行される
Python プログラムも、ソースコードがバイトコードに変換され、メモリ上にロードされて実行されます。
この過程を理解しておくと、プログラムの動作原理やエラー発生時の挙動、パフォーマンス最適化の際に役立ちます。
また、CPU はプログラムの命令を実行し、メモリ はデータの一時的な保管場所として機能します。これらの役割は、どのプログラミング言語でも共通の考え方です。
5. システムに必要な IPO
システムという概念は、「仕組み」を意味し、その基本構成は以下の 3 要素で成り立ちます。
- Input(入力)
ユーザーや他のシステムからの情報やデータ。 - Process(処理)
入力された情報を加工・解析し、目的の処理を実行。 - Output(出力)
処理結果を画面やファイル、他のシステムへ出力する。
例えば、Python で電卓プログラムを作成する場合、ユーザーから数値を入力(Input)し、計算処理を行い(Process)、結果を表示(Output)する、という流れになります。
このような IPO の考え方は、システム開発の基本であり、どの言語でも重要です。
6. コメントの入れ方
コメントは、コードに対する人間向けのメモです。Python では以下の方法で記述します。
- シングルラインコメント
行の先頭に#
を付けることで、その行の残りをコメントにできます。
# Hello World を表示する
print("Hello World")
- 複数行コメント(ドキュメンテーション文字列)
3 つのシングルクォート(''')またはダブルクォート(""")で囲む方法です。主に関数やクラスの説明に使われます。
"""
この関数は、Hello World を表示します。
作成者: yamazaki
作成日: 20XX/11/09
"""
def main():
print("Hello World")
コメントは、後で自分や他の人がコードを読み返すときの大切な手掛かりとなるため、積極的に記述しましょう。
7. エラーへの対処
Python では、エラーは大きく分けて以下の 3 種類に分類されます。
- 文法エラー(SyntaxError)
プログラムが正しい文法で書かれていない場合、実行前にエラーが検出されます。 - 実行時エラー(RuntimeError)
実行中に発生するエラー。例:ゼロ除算エラー、インデックスエラーなど。 - 論理エラー
プログラムは実行されるが、期待した結果が得られないエラーです。
※論理エラーは、テストやデバッガを使って検出する必要があります。
エラーメッセージには、エラー発生箇所や原因が示されるため、必ずその内容を確認し、グーグル検索などで対策を調べましょう。
8. 標準出力
Python において、標準出力 とは、プログラムが結果を表示するための出力先(コンソールなど)を指します。
標準出力には print()
関数を使用します。
print("Hello World")
print()
は自動的に改行を付けて出力します。- 改行が不要な場合は、
end
パラメータを利用できます(例:print("Hello", end=" ")
)。
標準出力を利用することは、デバッグやプログラムの動作確認にも非常に有効です。
まとめ
以上、Python の基本的な特徴や実行方法、プログラムの構成、オブジェクト指向の考え方、エラー処理、コメントの付け方、標準出力の利用方法などについて解説しました。
Python は以下の点で異なります。
- シンプルな文法と動的型付け
→ コードが読みやすく、初心者にも取り組みやすい。 - コンパイルの概念がユーザーに隠蔽されている
→ ソースコードをそのまま実行できるため、環境構築が簡単。
ただし、厳密な型チェックやアクセス修飾子は存在しないため、コードの規模が大きくなるときは、設計やテストに特に注意が必要です。
Python はそのシンプルさと多機能性から、初学者が最初に取り組むプログラミング言語としても、プロフェッショナルが活用する言語としても非常に有用です。ぜひ、この記事を参考に、Python の世界に飛び込んでみてください!
次章では変数とデータ型を学びます。
1章. 変数とデータ型をマスター
まとめができたら、アウトプットとして演習問題にチャレンジしましょう。