見出し画像

初心者が1からプログラミング(Python)を学んでみた Part10 - Python講習会参加(8/15 - ②)

講習会の1回目の記録からお読みください。⏬⏬こちらは続きになります。

講習会は1日2〜4時間で詰め込まれるだけ詰め込まれたのでかなり初心者には難しいものもありました。しかも、その場で書かれたコードを自分のページに模写してたので、タイピングが遅い私にしては聞いて書いてトライしてみてとかなり大変でした。1日で習ったものが多すぎるのでそれぞれ習った形をまた別でまとめたいと思いますので、今日は動かしたコードと結果だけずらずらと並べます、ご了承ください。

True / False

True / Falseで返されるものは”正”か”非”か、もしくは0か1かの2択で表されるコードです。コード内で条件付きで使ったりして、Trueだった場合とFalseだった場合別のコードに誘導することが可能になるそうです。講習内で使った例題です。

True / False の例題。

名前の付け方も少し習いました。Pythonでは名前付けは誰がみても分かるような情報を詰め込んだ形にするべきで、例としてはアンダーバー(’_’)を使って二つの文字を分けるか、繋げても二つ目の文字の始まりを大文字にして読みやすくする等があるそうです。Python上である程度定められた名前付けの法則も見つけたので貼っておきます。⏬⏬名前の始まりはa-z、 A-Z、 アンダーバー(’_’)のみで名前に含めていいのはこれにさらに数字のみで、記号(!、@、&、?などなど)は名前内に含めてはいけないそうです。

Python上ですでに定められている(VSCode上では色が変わる)言葉も名前付けには使ってはいけないので単体で使ってはいけない言葉集を見つけたので貼っておきます。

Python上で単体で名前付けに使ってはいけない特別な意味を持つ言葉一覧。

if, elif, else

こちらは何かの条件に当てはまった時だけ決まったコードを動かし、それ以外の場合は無視して次に進む形になります。こちらも別の機会にまとめなおしたいと思っていますので今は軽く流したいと思います。

if, elif, else の例題1。

この”greater_than”は前述と同じものを指し、3段階で条件を指定して当てはまったものだけ表示してます。この場合、1つ目にも2つ目の条件にも当てはまらなかったのでコードが無視され、”else”でその他の場合全てを表示してるので、結果は最後の1行のみになります。
他の例題も載せます。

if, elif, else の例題2。

上記のように”elif”と”else”を使わずに”if”だけ並べてしまうと、お互い作用しない別の条件になりどちらも条件を満たしてるので別のコードとしてそれぞれ処理されます。

For loop 

こちらは繰り返し同じことをするときに非常に便利で、コードを書く時間と労力を減らせるのですごく重要でよく使われる形です。初めて習った時は私も一苦労したので、また別のページに当時習った風をまとめます。コードをコピペして”全く同じ内容”を他に使いたい時は積極的に”for loop”で書き換えるべきだと習いました。例題を軽く貼っておきます。

For loop を使った例題。

上記のコードはリスト内の数字をひとつずつまず表示(4行目)して、その数字に共通して2を足した数字を表示しています(6行目)。3行目のrange()とlen()は決まった形なのでこのまま覚えますが、説明は省かせていただきます(概念が難しく、よくわかってないので)。
下のコードはひとつ前のコードと全く同じ内容を作っていますが、唯一変わった部分が3行目の”for”のあとが至って簡潔に表されています。こちらはリスト特有のものでリストを使った場合のみ使えますので普段は上記の形になります。

微妙に違ったFor loop を使った例題。

Double For loop (Nested For loops)

こちらは”for loop”の中にさらに”for loop”を入れて二重で走らせるものです。リストが1列だけだとしたら、二重にして平面を作るときに使います。

Nested For loops の例題。

上記のコードは二つのリストを二重ループに入れて縦2列で表示してます。ループを回った後にさらにループを回すのでリストが増えるごとに、またはリスト内のアイテムが増えるごとに累乗されて時間がかかってしまうそうです。10分経ってもコードが止まっていなかったら流石に辛くなってきますね……。
”List Comprehension”と呼ばれる(下写真)リストの中に”for loop”を重ねて入れたりすると、Pythonの速さが圧倒的に速くなるそうで速さを求めるエンジニアやデータ処理の方は重宝してるそうなのですが、私はまだ理解が追いついていません。こちらも理解したときにまとめ直します。

List comprehensionを使った例題。

While loops

”while”は条件をつけて、その条件下に当てはまるときにだけ”for loop”のような形で繰り返し同じ動作をします。ただし!!!条件を間違えたり、終わりを作っておかなかったりすると永遠と回ってしまう恐れがあるので注意です。⚠️私も永遠と回り続けるループを経験して”while”は使わなくなりました。個人的には何が便利なのかわからないです(勉強不足です……)。例題です。

while を使った例題。

上記のコードの場合、5行目に足す1を入れることによって、”counter”が101になるまで二乗の計算結果が表示されます。5行目を入れないと終わりが来ずに永遠と回り続けます!

講習会の内容がもりもりすぎてついていくのに必死でした。初日の内容は第三弾に続きます。


スキやフォローでぜひ初心者の応援をお願いします。

この記事が参加している募集

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