前回の記事で、Pythonのプログラミングに必要な環境設定であるVSCodeのインストールと設定について書きました。
環境設定も終わっていよいよPythonのコーディングが出来る準備が整いました。
では、早速Pythonを使ってプログラミングをしていきましょう。
あ、そうそう、プログラムのこと何も知らないんですけど大丈夫ですか?
大丈夫です!
その前に、プログラミングについて1つ大事なことをお伝えしておきますね。
- プログラムを勉強する上で大事なこととは
- Pythonの言語としての基本ルール
プログラミングで大事なこと
まず最初に、プログラミングで一番大事なことを言います。
それはズバリ
「習うより慣れろ」
です
特にプログラミングに関しては、この言葉がめっちゃ重要です。
僕も数十年前ですが、営業職からシステムエンジニアの世界に入った時に、当時流行り出した頃のJava言語を勉強したのですが、プログラミングを早くものにするために特に意識したのが以下です。
- 参考書を読む
- 少し読んだら1行でもコードを書く
とにかく、情報をインプットして手を動かす
それがプログラミング言語を学ぶ最も重要なことです。
DUO3.0方式
手を動かすのは分かったけど、何から学べば良いのやら
突然ですが、みなさんは「DUO 3.0」って本をご存知でしょうか。
TOEIC勉強したり、英語の勉強をされている方にはお馴染みの英単語帳ではないかと思います。
僕も一時期TOEIC試験にはまっていた時があり、ずいぶんこの「DUO 3.0」にお世話になりました。
で、この単語帳ですが、他の英単語帳とは少し異なります。
というのも、普通の単語帳は、単語がズラーっと並んでいて、その単語の意味やら現在、過去形、過去完了形みたいな説明が載っていたりしますよね。
でもこの「DUO 3.0」は、ひたすら例文が載ってるだけなんです。
ただその例文の中に重要単語が5個くらい含まれています。
例えば
You should be fair to everyone regardless of national origin, gender, or creed.
訳「生まれた国、性別、信条に関係なく、誰に対しても公平でなくてはならない。」
引用:DUO 3.0 / 鈴木 陽一
こんな感じの例文が500個くらい載っています。
ですが、すごいのがこの一文にいろんな単語が含まれているということ。
ちなみに、この一文を読んだだけでもざっと以下の単語が覚えられます。
- fair(形) 公平な
- regardless of〜(前) 〜にかかわらず
- national(形) 国の
- origin(名) 起源、生まれ
- gender(名) 性別
- creed(名) (宗教上の)信条
つまり、単語1語1語を覚えるのではなく、1文丸々覚えてついでにまとめて単語を覚えちゃおうという発想の本です。
この方法が効率的なのは、文から覚えるので自然に近い方法で覚えられると言うこと。
普通は、単語→文法→文の意味と言う感じで別々に理解するのですが、このDUO 3.0は単語と文法と文を一度にかつ同時に覚えるという非常に効率の良い覚え方なのです。
なので、本ブログもPython言語を覚える際は、単語・文法・文を一度に覚える「DUO 3.0」方式を取りたいと思います。
つまり、各単元を覚える際は、なるべく具体的なソースコードを提示して全体で把握でき、かつ2,3個の複数の内容を同時に理解できるような構成にしたいと思います。
Pythonの基本ルール
では、実際にプログラムを書いてみましょう。
と言いたいところですが、Python独自のプログラム基本ルールがありますので、まずはそれをお伝えしたいと思います。
記述する文字について
こちらはPythonに限った話ではありませんが、プログラムは基本的に
「半角英数字」
で書きます。
間違っても、全角英数字や日本語などは使わないで下さい。
(ちなみに全角文字を使わないのはPython内の処理の話です。例えば文字列などで全角を使う場合は使用して問題ありません)
また、大文字と小文字は別になります。
ですので、今後出てきますが変数を使用する場合、以下はそれぞれ別の変数となります。
PYTHONDEMO = "パイソン"
pythondemo = "パイソン"
また、スペースは入れても大丈夫です。
スペースが入った場合はそのスペースは無視されます。
ですので、以下は全く同じ文となります。
sum = 70 + 30
sum=70+30
スペースを入れる方がソースが見やすくなりますので、出来ればスペースを入れることをお勧めします。
ただしスペースを入れる場合は注意が必要になります、それが次にあげるインデントです。
処理ブロックはインデントで区切る
これがPython特有のルールだと思いますが、Pythonの処理ブロックは記号ではなくインデントで区切ります。
うーん、処理ブロックってなんでしょうか、ナノブロックならよく作って遊んでましたが
ナノブロックありましたね、確かポケモンとかもあったような。
ちなみに処理ブロックとは、処理させる範囲を明示的に指定することです。
例えば、JavaやC++の場合は、{ } を使って処理を囲みます。
for(i = 0; i < 10; i++){
System.out.printli("ああそうさ!");
System.out.printli("君に夢中さ!");
}
こういう感じですね。
これはJavaの繰り返し処理なんですが、{ }で囲まれた部分を10回繰り返すという処理になります。
なのですが、この明示的な指定がPythonの場合はインデントになります。
例えば同じ処理をPythonで書くと下記になります。
for i in range(10):
print("ああそうさ!")
print("君に夢中さ!")
for文と次のprint文の間にインデント(段落)がありますよね。
これがJavaでいう{ }の代わりとなり、インデントの処理だけを繰り返し実行します。
なので、Pythonではインデントというのが非常に重要な意味を持っていますので、スペースを使う際は先頭には使わないように注意して下さい。
この辺り、JavaやC++に慣れてきた方には非常に違和感がある所だと思います。
ちなみに自分もそうでした。
文の終わりは改行する
Pythonは基本的に1命令を1文で書きます。
ですので、文の終わりは改行となり文末には何もつけません。
ちなみに、これもJavaやC++で育ってきた方には違和感があるかもしれません。
ちなみにJavaでは、1文は必ず「;」で終わります。
ですので「;」がついてさえいれば1文が終わったことを明示できますし、処理も{ }がついていれば明示できるので、全ての処理が1行で書けたりします。
例えばJavaでは
public class testMe {
public static void main(String[] args){
System.out.println("俺だ、俺だ、俺だー!");
}
}
と
public class testMe {public static void main(String[] args){System.out.println("俺だ、俺だ、俺だー!");}}
は、全く同じ処理となります。
ただし、Pythonでは、処理ブロックがインデント、1文が改行というルールとなっているので、上記のJavaのような1行での記載は出来ません。
コメント行の書き方
コメントとは、プログラムソース内に直接記載できるコードと認識されないテキスト文です。
なので、単なる説明文ですので、コメント行は一切処理されません。
プログラムを書いた本人や、他の人がそのプログラムを読んだときにわかりやすいように記載します。
これらはPython特有ではなく、プログラム言語であればどんな言語でもコメントは書けるようになっています。
Pythonでのコメントは「#」を使って単行指定します。
具体的には、コメント指定したい行の先頭に「#」をつけます。
例えば、先ほどのPythonで記載した処理にコメントを付けるなら
# 10回繰り返し処理を行う
for i in range(10):
# 「ああそうさ!」と表示する
print("ああそうさ!")
# 「君に夢中さ!」と表示する
print("君に夢中さ!")
先頭に「#」のついた処理は無視しますので、実際は以下の処理と同じとなります。
for i in range(10):
print("ああそうさ!")
print("君に夢中さ!")
まとめ
この記事では、プログラム言語を学ぶ際に大事なこと、それからPythonのルールを簡単に説明しました。
特に、プログラミング言語は習うより慣れろ精神でとにかく手を動かすことが大事ですので、とにかく少しでも覚えたら処理を書いてみて、VSCode上で動かすことをお勧めします。