MQL5システムトレーダーの為のPython講座:第3回「プログラミングの基本構造」

Python
スポンサーリンク
スポンサーリンク

はじめに

前回Pythonでプログラミング作業をおこなっていくにあたっての環境構築について解説しました↓

今回の記事では「プログラミングの基本構造」について学んでいきます。

プログラミングは一見難しそうに思えるかもしれませんが、基本的な構造さえ理解できれば、それほど複雑ではありません。

今回は、プログラムの動きを決める「順次進行」「条件分岐」「繰り返し」について、初学者の方でも理解できるように丁寧に説明していきます。

順次進行

プログラムは基本的に上から下へ順に命令を実行していきます。この流れを「順次進行」と呼びます。

順次進行はとてもシンプルで、プログラムに書かれている命令を一つずつ順番に処理していく構造です。

以下に、Python順次進行の簡単な例を示します。

# Pythonプログラムの基本的な順次進行の例
print("こんにちは、システムトレーダーの皆さん!")  # 1行目の命令を実行:挨拶メッセージを表示
print("今日はプログラミングの基本構造を学びます。")  # 2行目の命令を実行:学習内容を表示

この例では、2つのprint文が順に実行され、それぞれのメッセージが表示されます。printは関数の一種であり、指定したメッセージを画面に表示する役割を持っています。関数とは、特定の処理をまとめて名前をつけたプログラミングにおける仕組みのことを言います。。

print関数については、後程別の記事で詳しく解説するので、今は「メッセージを表示するための命令」として覚えておいてください。プログラムは常に上から下へ順に実行されるというのが「順次進行」です。

※各コードの右側に記述されている#以降の文章は、コメントアウトと言われる記法です。
コメントアウトとは、プログラムの一部を「処理しない」ようにする操作のことです。プログラムを書く際、実行されない説明やメモを残す目的で使用します。

Pythonでは、行の先頭に「#」を付けると、その行がコメントアウトされます。コメントアウトされた部分は実行されず、プログラムに影響を与えません。

もう少し複雑な例を見てみましょう。

# 複数の変数を使った順次進行の例
名前 = "太郎"  # 名前を設定
年齢 = 15  # 年齢を設定

print(f"こんにちは、{名前}さん!")  # 名前を使って挨拶メッセージを表示
print(f"あなたは{年齢}歳です。")  # 年齢を使って情報を表示

この例では、まず変数[名前]年齢に値を設定し、その後にそれらの変数を使ってメッセージを表示します。

変数とは?

変数とは、データを一時的に保存しておくための箱のようなものです。
プログラム中で値を使い回したり、計算に利用したりするために使われます。
例えば、名前という変数には「太郎」という名前が保存され、年齢という変数には「15」という数値が保存されます。
このように、一度設定した値を後から使うことができるのが変数の便利なところです。
変数についても、後程別の記事で詳しく解説するので、今は順次進行の流れを意識して頂ければと思います。

このように、変数を使いながら順に処理を進めていくことができます。

条件分岐

プログラムには「条件によって動きを変える」場面があります。これを「条件分岐」と言います。例えば、「もしある条件が満たされたら、この処理を行う」という場合に使われます。

Pythonではif文を使って条件分岐を実現します。以下は、条件分岐の簡単な例です。

# 条件分岐の例
年齢 = 18  # 年齢を18歳に設定

if 年齢 >= 20:  # もし年齢が20歳以上ならば
    print("あなたは成人です。")  # 成人であると表示
else:  # それ以外の場合(20歳未満の場合)
    print("あなたは未成年です。")  # 未成年であると表示

条件分岐の構造

  • if文は「もし○○ならば」という意味です。
  • elseは「それ以外の場合」という意味で、ifの条件が満たされない場合に実行される命令を書きます。

このコードでは、年齢という変数が20以上かどうかを確認し、それによって異なるメッセージを表示しています。

繰り返し

プログラムで「同じ処理を何度も繰り返したい」ことはよくあります。そのような場合には「繰り返し」を使います。Pythonでは主にforループやwhileループを使って繰り返しを実現します。

forループ

forループは、指定した回数やリストなどの要素を順に処理したいときに使います。

# forループの例
リスト = ["アップル", "オレンジ", "バナナ"]  # フルーツのリストを作成

for 果物 in リスト:  # リスト内の各果物について繰り返し
    print(果物)  # 各果物を表示

このコードでは、リストに含まれるすべての果物(”アップル”, “オレンジ”, “バナナ”)を順に表示します。forループは、リストの各要素を一つずつ取り出して処理を行う構造です。

つまり、リストに入っているアイテムを1つずつ取り出して、その内容を順番に使うことができます。この場合、最初に”アップル”が取り出されて表示され、その次に”オレンジ”、最後に”バナナ”が表示されます。このようにforループは「リストの中の全てのものを順に処理する」という動きをしています。

リストとは?

リストとは、複数のデータを一つにまとめて管理するためのものです。例えば、複数のフルーツの名前を一つのリストにまとめることで、それらを順に取り出して使うことができます。リストについては、後程別の記事で詳しく解説するので、今は「複数のデータをまとめて管理するもの」として覚えておいてください。

whileループ

whileループは、特定の条件が満たされている間、処理を繰り返し実行したい場合に使います。

# whileループの例
カウント = 0  # カウントを0に設定

while カウント < 5:  # カウントが5未満の間、繰り返す
    print(f"カウント: {カウント}")  # 現在のカウントを表示
    カウント += 1  # カウントを1増やす

この例では、カウントという変数が5未満である間、whileループが繰り返されます。最初はカウントの値が0であり、ループが実行されるたびにカウントが1ずつ増えていきます。

具体的には、カウントが0のときに「カウント: 0」と表示され、その後カウントが1になります。次にカウントが1のときに「カウント: 1」と表示され、またカウントが1増えます。この動作が繰り返され、最終的にカウントが5になると、条件(カウント < 5)を満たさなくなるためループを抜けます。

言い換えると、whileループは「条件が成り立つ限り同じ処理を続ける」構造です。この場合、カウントが5未満である間は繰り返し処理が行われるため、条件が成り立たなくなるまでループし続けます。ループは「繰り返し作業を自動で行う」ことができるため、同じような処理をたくさんするときに便利です。

基本構造を組み合わせる

プログラムでは、このような「順次進行」「条件分岐」「繰り返し」の3つの基本構造を組み合わせて、複雑な処理を行います。例えば、リストの中で特定の条件を満たす要素だけを選んで処理したい場合には、forループとif文を組み合わせて使うことができます。

# whileループの例
カウント = 0  # カウントを0に設定

while カウント < 5:  # カウントが5未満の間、繰り返す
    print(f"カウント: {カウント}")  # 現在のカウントを表示
    カウント += 1  # カウントを1増やす

このコードでは、1から10までの番号を順に確認し、偶数の番号だけを表示しています。forループとif文を組み合わせることで、特定の条件を満たす要素だけを処理することができます。

計算ルールについて

このコードでは%という記号を使っています。これは「余り」を求める演算子で、例えば番号 % 2番号を2で割ったときの余りを意味します。

また、==という記号も使っています。これは「等しいかどうかを確認する」ための演算子です。例えば、番号 % 2 == 0は「番号を2で割った余りが0と等しいか」を確認するという意味です。このような計算ルールについては、後程別の記事で詳しく解説するので、今は「特定の計算をするための記号がある」程度に覚えておいてください。

まとめ

今回は、プログラミングの基本構造である「順次進行」「条件分岐」「繰り返し」について学びました。この3つの構造を理解すれば、ほとんどのプログラムを組み立てることが可能です。基本的な動きを理解することで、より複雑なプログラムも扱えるようになります。

次回は、「変数」について解説していきたいと思います。

MQL5システムトレーダーの為のPython講座:第2回「Pythonの環境構築」

          →MQL5システムトレーダーの為のPython講座:第4回「変数について」

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