pythonで作ってみよう!!

pythonを楽しく学ぶために、おみくじ、占い、ジャンケンなど、実際に作りながら勉強してみます!

第1章 pythonプログラムの基本構造

はじめに

1.1 pythonプログラムの基本

pythonでも他のほとんどのプログラムと同じように上の行から1行ずつ実行されます。

1.2 文の区切り

プログラムは1行ずつ実行されますが、1行のプログラムを「文(statement)」と言います。
例外を除いて、ソースコード上の改行文字が文の区切りになります。Javaなど他の言語で見られる文末を表す文字は必要ありません。

1.3 コメント

プログラム中に記載する説明書きなどをコメントといいます。コメントとして記載された部分はプログラムとして解釈されません。
コメントはシャープ「#」で始めると行末までがコメントとして扱われます。
また、#はそこまでの行を終端します。

# コメントです
# プログラムの説明などを書きます

# メッセージ文字列を設定
msg = "ここはプログラムです" #プログラムの行末にコメント
msg = "このメッセージが表示されます"
# メッセージを表示
print(msg)
このメッセージが表示されます

コメントがプログラムとして解釈されない性質を利用して、動作確認やバグの切り分けのためにプログラムの一部を無効化するのにも使います。(このことを「コメントアウト」といいます。)

msg = "ここはプログラムです" 
#msg = "このメッセージが表示されます"

print(msg)
ここはプログラムです

1.4 複数行にまたがる文

行末にバックスラッシュ「\」を記述すると次の行と連結して1つの文と見なされます。
またカッコ「( )」「[ ]」「{ }」中(開きカッコがあるが閉じていない状態)は暗黙に行が継続します。

# 2行で1文です
num = 1 + 2 + 3 + 4 + 5\
    + 6 + 7 + 8 + 9 + 10

# カッコが閉じるまで1文です
print(num 
       + 100
       + 200)
355

1.5 インデント

pythonにおいては行頭のスペースによる字下げ(インデント)が言語的な意味を持ちます。
行頭に同じ数のスペースまたはタブが付いている文は同一のブロックとして認識されます。逆に、他の言語でよく見られる波カッコ「{ }」は必要ありません。
コードブロックはif文やfor文、関数やクラス定義などの範囲として文をグループ化するのに用いられます。詳しくは各セクションで説明します。
f:id:inato_gen:20190303210119j:plain
インデントに必要なスペースの数に決まりはありません。スペース4つが多いと思いますが、1つでも2つでも揃っていれば動作します。ブロックが不要な状況でインデントを付けるとエラーになります。
また、コードブロックの内側にさらにコードブロックを作る場合(ネストする場合)、直前のインデントより多くのスペースを付ける必要があります。
f:id:inato_gen:20190303220513j:plain