見出し画像

【高校情報Ⅰ】 プログラミング Python 入門 第2話 変数・コメント・コーディング規約 PEP8

■■動画解説(第2話)変数とは?コメント コーディング規約 実践演習

動画視聴後は以下の問題が解けるようになります

画像1

■■解説動画■■



文字おこし

画像2

前回はPythonのインストール、文字列表示、簡単な四則演算したから
今回は変数について学んでいこう。

変数って変な数のこと?

言葉からではわかりにくいから、
先に具体的なプログラミングを見ていこう。


問題!このプログラムを実行すると何が表示されると思う

画像3

--------------------------
name = "ミライ"
print(name)
---------------------------

1行目 name は ミライと言っているだけだから特に処理には関係ないのかな
printはこの前 習ったやつだね。
ダブルクォーテーションで囲まれてないのが気になるけど
nameという文字列が表示されるかな

画像4

じゃあ実行してみよう。
ミライって表示されたね。 残念nameと表示されるのは不正解残念

う~ん、何でミライの文字が表示されるのかがイマイチ分からないんだけど。

画像5

これはね、変数っていうのを使っているんだ。
変数は数字や文字を入れる箱みたいなものなんだ。

今回のプログラムと照らし合わせながら見ていこう
まず1行目のname っというのが変数の名前で変数名なんだ。
nameという箱があって、その中にミライという文字列を入れているイメージなんだ。
この箱に値を入れる行為を代入というんだ。

そして2行目で、nameの箱の中身を表示させているんだ。


1行目と2行目はお互いに関係していることを確かめるために1行目を無効化していこう
一行目の一番初めに シャープの半角文字を入れてみて。

画像6

このシャープってどういう意味なの?

これはコメントアウトという行為なんだ。
シャープ以降にある文字はプログラム実行時は無視される。
プログラムを無効化するときにも使うけど
こんな感じで、この行は何をしているかを日本語などプログラム知識が無い人向けに説明がきを入れるためにも使われるんだ。

実際、システム開発現場では一人ではなく大人数でプログラミングすることが多く、作った人が退職や他の現場に行くとかして、途中でいなくなることが多々ある。
このコメントがあるとそのプログラムが何を処理しているかが分かって、プログラム自体の解析もしやすくなるんだ。

なるほど!自分以外の人の為にもコメントは残しておくようにするよ。

あと、自分自身の為にもなるんだ、処理が複雑になるほど
プログラム自体複雑になる。
一度作り上げて、数か月間放置していると、浦島太郎状態で、
その処理が何をやっているのかが自分自身分からなくなることがある。
コメントをちゃんと残すのは自分自身の為でもあるんだ。

ちゃんとした開発プロジェクトの場合は、コーディング規約と言って プログラムをどんなふうに書くべきかという決まりごとがある場合が多い。
コメントの記載方法など厳密に決められていることも多いんだ。

あと、Pythonとしての共通的なコーディング規約にPEP8ってのがある。
例えば、さっき変数に値を代入したプログラムの イコールとの間に半角スペースがあるよね。
この半角スペースは、なくてもプログラム自体は動くんだけど。
半角スペースがあると見やすくなるし、PEP8にもちゃんと定義されているんだ。
PEP8の日本語訳のホームページを概要欄に貼っておくから興味があったら見てみて。

はじめに — pep8-ja 1.0 ドキュメント (pep8-ja.readthedocs.io)
https://pep8-ja.readthedocs.io/ja/latest/

画像7

じゃあ、1行目をコメントアウトしたプログラムを実行してみよう。

あ~エラーになった。どうして?

これは、nameという変数がどこにも定義されていないから、表示できませんという意味なんだ。
仮に変数ではなく、nameという文字列として扱い場合は、2行目のnameを
ダブルクォーテーションで囲むとnameという文字列が表示される。
これは前回やった内容だね。

今回は、nameという変数名を付けたけど、この名前にも決まりがあるんだ。


画像8

使える文字は、半角の英数字とアンダースコアだけ

画像10


name_1 の様に組み合わせることも可能。
ただ、数字が先頭にくるものや、数字単独ではエラーになるんだ。
ちょっと試してみよう
変数名を1nameと打ちかえるね。これを実行してみよう。
エラーになったね。


画像11

他には、小文字と大文字はべつの変数名として扱われるんだ。
大文字のNAMEを定義してじっこうしてみよう。
大文字のNAMEには がっきー といれるね
実行してみよう。

画像12

あっ!ちゃんと別々の表示がされたね。


あと、英数文字でも変数として使えない文字列もある
例えば and False True などプログラム自体で用いられるものが該当するんだけど
これを予約語というんだ。

画像13

こんなにあったら覚えられないよ。

予約語を使うと、プログラム中で予約語ですとエラーになるから覚える必要はないよ。
ためしandという変数名でやってみよう。
ちゃんとエラーになったね。

さっきは、nameに ミライという文字列を使ったけど、今度は数字を扱っていこう。

画像14

priceという変数を用意してその中に 100を代入する。
数字の場合は、ダブルクォーテーションは不要だよ。

そして、taxという変数を用意してその中に0.1を入れてみよう。

消費税を求めるには price×tax だから
printの中にprice アスタリスク tax といれて、保存してプログラムを実行してみよう。

10って消費税がちゃんと表示されたね。

画像15

じゃあ、変数を使った文字列の結合もしていこう
name1に ミライ
name2に がっきー
name3に やまだ
って代入しよう。

print に それぞれの変数をカンマで区切って入れてみよう。
ちなみにカンマの後に半角スペース入れているけど、これも見やすくするためのコーディング規約なんだ。
実行してみよう。
文字が連続して出たね。

画像16

文字と文字との間に、スペースがあるけどこれってかえられないの

できるよ。
printの最後に セパレートの略のsep と入れてイコール の後にシングルコーテーションの中にスラッシュを入れてみよう。

あっ!スラッシュで区切られたね

画像19

他にも改行を入れたい場合は、\n って入れてみて \nは改行を意味するんだ

あっ!改行されたね!便利だね。


printに入れる前に文字列を結合する方法もあるんだ。
足し算で使った + を 文字列に使うんだ
name1 + name2 + name3 を
zenbuという変数に入れてみよう

zenbu = name1 + name2 + name3 
print(zenbu)

ちゃんと結合されたね。

画像19


同じようにとちゅうで改行入れたい場合は\マークエヌを途中に入れよう
変数ではなく文字列だからダブルクォーテーションまたはシングルコーテーションで囲むことを忘れないように

zenbu = name1 + "\n" + name2 + "\n"+ name3


じゃあ最後に今話した内容の復習問題をやっていこう。

画像1

答え

画像20


変数はプログラミングするときに絶対使う技術だからしっかり覚えよう。



name1 = "ミライ"
name2 = "ミライ"
name3 = "ミライ"
print(name1, name2, name3, sep='\n')

zenbu = name1 + name2 + name3
zenbu = name1 + "\n" + name2 + "\n" + name3
print(zenbu)

yasai = "キャベツ"
print(yasai)

saifu = 1500
bentou = 950
print(saifu - 950)

yasai1 = "キャベツ"
yasai2 = "トマト"
yasai3 = "レタス"
print(yasai1, yasai2, yasai3)
print(yasai1, yasai2, yasai3, sep='\n')





この記事が気に入ったらサポートをしてみませんか?