1-1 コードの書き方①

1章 Python基本ルール

基本ルールを知ろう

 Pythonをはじめとするプログラミング言語ではプログラムを書く上で守らなくてはならないルールがいくつも存在します。このルールが守られていない場合、実行時にエラーが起きて結果が出力されない、または目的の結果が得られないことが起こります。この章では基本的なルールの説明とコーディングの際に文法間違いをしないための工夫を紹介していきます。

どのようにプログラムが動くのか

 例えば下のようなプログラムがあるとします

print("こんにちは")
print("私は○○です")
print("よろしく")

#実行結果:こんにちは
#         私は○○です
#         よろしく

 このプログラムがどのような順番で実行されているのかというと、図1-1-1のように実行されています

図1-1-1

  プログラムを書く際は、図1-1-1のように基本的に上から順番に命令文が実行されていくことを頭にいておきましょう。

命令の区切り方

 まずは文章の分け方ついてです。基本的にコードを書くとき命令は1行につき1つにしましょう。同じ行に複数の命令をそのまま書いてしまうと文法エラーになります。

 ここでいう「命令」とは、たとえば前回行った「print(“こんにちは”)」のような具体的な操作を行うことを指します。

 では下の例を見てください。これは、「aに1を代入」→「bに2を代入」→「cにaとbの和を代入」→「cの値を結果として出力」といった具合で進むプログラムです。本来であればこれは、「1+2」をして答えを出力するだけですので3が出てくるはずですが、ここでは命令を一行にまとめて書いてしまっています。

a=1 b=2 c=a+b print(c)
#実行結果:SyntaxError: invalid syntax

  すると結果は出力されず「文法エラー」を示す「SyntaxError」が出力されています。

 このように命令は基本的に1行につき1つですので、なにか書いたら必ず改行するようにしましょう。下に正しい例を載せておきます。

a=1
b=2
c=a+b
print(c)
#実行結果:3

先ほど基本的に、できないと書きましたが、どうしても1行に複数書きたい場合は「;」マークを命令の終わりにつけることで複数書くことができるようになりますので覚えておきましょう。ただこれは、後でコードを読み返すときや、ほかの人に見てもらうときに読みづらくなるので極力避けることをおすすめします。下に例を載せておきます。

a=1; b=2; c=a+b; print(c);
#実行結果:3

変数

 先ほどの例でなんとなく数学でいう文字を扱ってきましたが、Pythonでは数学と同じよう文字でおいて処理することができます。ただしプログラムならではの特性が存在します。ここでは通常の数学とは異なる点について説明させていただきます。

 前回までの例にも示している通り、コードを書く際、数学と同じように文字を扱うことができます。プログラム内で扱う文字は「変数」と呼ばれ、そこには数字だけではなく文字や命令など様々なものが代入できます。

 そしてここが最大の特徴なのですが、変数はその代入された中身によって「変数のタイプ」が存在します。図1-1-2をみてください。

図1-1-2

 図1-1-2は変数「a」に数字や文字列、関数を代入した場合の変数タイプの変化を表しています。何を代入したかによって、タイプが変化していることが分かるかと思います。このタイプは「変数の型」や単に「型」といって後々非常に重要になってくるので、概念だけでも理解しておく価値があります。

 型はそれなりに種類がありますので、よく使うもののみ書いておきます

  • int型(整数のみの数字)
  • float型(小数点ありの数字)
  • str型(ひらがななどの文字列)
  • bool型(TrueかFalse)

 その変数の型が何かは「type(変数名)」を下のコードのように使うと確かめられますので、気になったときは見てみましょう。ここでいう「type()」もかっこの中身の変数名を出力する呪文だと考えるとよいと思います。

a=1
print(type(a))
#実行結果:<class 'int'>

日本語を書く時の注意

 Pythonにおいてひらがななどの日本語を書きたい場合、文法的に注意が必要です。先ほど説明したように変数には型と呼ばれるタイプがあり、ひらがなやカタカナ、漢字、変数名ではないアルファベットを扱うには文字列タイプとして扱わなくてはなりません。

 具体的には下のコードのように、変数に文字を代入する際は必ず「”」で文字を挟むことになります

a="こんにちは"

 また以前print()を扱ったときに示したように、呪文の中に直接文字を入れ込む場合についても必ず「”」で囲みます。数字の場合は必要ありません。

print("こんにちは")
#実行結果:こんにちは

ただし、下の例のように文字列型の変数を呪文に入れ込む場合は、「”」で囲む必要はありません。

a="こんにちは"
print(a)
#実行結果:こんにちは

 以上のようにPythonにおいて文字列を扱う場合には注意すべき点があることがお分かりいただけたと思います。

変数へ代入するときの注意

 次に代入についてです。例によってなんとなくやってきましたが、代入についてもちゃんとルールがあります。図1-1-2を見てください。

図1-1-3

 一見数学的に考えるとどちらも同じ「aと1は等しい」という意味になりそうですが、プログラミングにおいては「=」記号は右の値を左の値に代入するという意味であるので、図1-1-3の上と下は違う意味になってしまいます。

 つまり足し算の結果などを代入させたい場合、通常「1+2=x」のように書きますが、プログラムでは、「x=1+2」と書かなくてはなりません。

 また、先ほど言ったように ログラミングにおいては「=」記号は右の値を左の値に代入するという意味 で、下のコードの例のように一度代入しても、後から上書きすることができます。

a=1
a=2
print(a)
#実行結果:2

  コードを書く際は必ず代入を行う場面があると思いますので、この点に注意して行いましょう。

まとめ

 今回はPythonの基本文法について重要事項を簡単に説明させていただきました。最後までお付き合いいただいた方、本当にありがとうございました。次回は今回紹介しきれなかった基本について解説したいと思います。

コメント

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