見出し画像

高校向けPython入門(2) プログラムの書き方

高校向けPython入門(1) インストールと書法 はこちら。


2 プログラムの書きかた


 プログラミング言語それぞれに「書法」がある。命令文の行末にセミコロンが必須であるもの,あってもなくてもいいもの,命令グループを { }でくくるもの, ( ) でくくるものなど。Python には,PEP8 というガイドラインがあるので,これに沿うのがよいだろう。なお,Google など,これとは異なる書法を示しているものもある。
 ここでは,PEP8 に沿って,基本的なものだけ示す。なお,例示されているプログラムの 各行の意味については,今はあまり考えなくてよい。実際にやってみるのがよいが,ひとまずは読むだけでもよい。

(1) 命令文の区切り 

 コンピュータに作業を指示する文を命令文という。命令文は改行した一文が区切りとなる。
 基本的に,命令文の途中で改行することはできない。(エラーになる) しかし,命令文が長くなって,わかりやすくするために改行したいことがある。その場合は,全体を括弧()で囲む。すると,この中では自由に改行できる。また,インデントも自由だ。(インデントについては次項目参照)

  ↓はじめの括弧
if (isinstance(T[0][x-1],int)
       and isinstance(T[0][x],int)
          and isinstance(T[0][x+1],int)
   ):
   ↑終わりの括弧

(2) ブロックとインデント

 Python では,for や while 文による繰り返し,if 文による条件判断,関数の定義を,ひとつのブロックとして表す。ブロックはコロン:に続いて,次の行から,行頭に半角スペースを 4 つ入れた「インデント(字下げ)」で表す。同じインデントがある間が1つのブロックだ。
 for 文の中でまた for 文を使ったり,if 文を使う場合はその分字下げする。
  インデントは半角スペース 4 文字とするのがよい。

【例】

for i in range(5):         # for のブロックの始まり 
    a = 2 * i + 1              # 4文字下げる
    if a > 10:                   # if のブロックの始まり
        print(i,a)               # さらに4文字下げる
 print(a)                        # 両方のブロックが終わって次の文


(3) コメント文

 #を書くと,それ以降に書かれたことは実行されない。これをコメント文という。 やっていることのメモなどをコメント文として書くことが多い。上記の例ではそれぞれの行にコメント文をつけている。はじめてなので説明のためにつけているが,通常はこんなには書かない。上記の例ではまったく必要ないと言える。
 書いておくとよいのは,わかりにくい変数の意味や,ユーザー定義関数の意味だろう。要は,1年後に自分が読むことを想像して,そのときに,このコードの意味がわかるかどうかを考えることだ。

(4) 文字列の表しかた

 言葉を命令文ではなく,データや表示文として扱いたい場合は,前後にシングルクォー テーションまたはダブルクォーテーションをつける。文の中でシングルクォーテーションを使う場合はダブルクォーテーションにするとよい。シングルクォーテーションは,Shift キー を押しながら,7のキーを打つ。バッククォーテーション ‘ と間違えやすいので,生徒実習ではダブルクォーテーション にするほうがよいだろう。

【例】
message = "Let's go"

(5) 演算子の両端にスペースを入れる

+ や =,== などの演算子の両端に半角スペースを入れる。ただし,演算優先順位の異なるものが混在する場合,たとえば,* の両端には入れない。

【例】
y = 2*x + 1
z = x*x + y*y
c = (a+b) * (a-b)

(6) コンマの後は半角スペース一つ

【例】
print("a = ", a, " b = ", b)

コンマの前に入れない。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

 書法というのは一度で覚えて身につくものではなく,何度かコードを書いているうちに身についてくるものだ。エラーが出たときに,まず「書き方がおかしくないか」と疑う習慣をつけると,そのうち自然に手が動くようになる。

次回は 変数と関数