ノンプロ研初心者向けプログラミング講座第4期【Python コース】第2回

コミュニティ「ノンプログラマーのためのスキルアップ研究会」Python初心者 コース第4期第2回のツイートまとめです。コンテンツは「制御構文・関数」です コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ https://tonari-it.com/community-nonpro-semi/ 続きを読む
2
タカハシノリアキ @ntakahashi0505

ただ、論理演算子を使うとどうしても読みづらくなるので、できれば使いたくないですね… Pythonはコードをシンプルに書くための選択肢が多めに用意されているので、アンテナ広くしておきたいところです。 #ノンプロ研

2020-09-30 20:40:57
タカハシノリアキ @ntakahashi0505

条件式で「等しい」を表現したいときに「=」を使っちゃいがちなのですが、これは代入演算子なのでエラーになります。 比較演算子としてはイコール2つの「==」を使います。 これ、初心者のうちはめちゃめちゃ間違えやすいので注意です。 #ノンプロ研

2020-09-30 20:47:09
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

数値だと0以外だとTrueで、0の時はFalse 文字列だと長さが1以上だとTrueで、空文字だとFalse リストなどは要素数が1以上であればTrueで、要素数が0だとFalse これが結構便利なので、じっくり慣れていきましょう。 #ノンプロ研

2020-09-30 20:52:20
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

次は「反復」。繰り返し処理のwhile文です。 条件式が満たされている間じゅう、処理が繰り返されます。#ノンプロ研

2020-09-30 20:55:30
タカハシノリアキ @ntakahashi0505

print文のendオプション、しれっと出て来ましたが、これ講座内できちんとお伝えする機会あったかな… クラスとか関数とか式とかラムダとかイテレーターとかジェネレーターとかを集めて、DatetimeとかPathlibとか必須の組み込みモジュール混ぜたら、もしかして中級Pythonできるかな… #ノンプロ研

2020-09-30 20:56:50
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

while文ではよく、i のようなカウンタ変数(ループカウンタ)が使われます。 ・whileの外で初期化をしておいて ・whileのなかで加算・減算する というのは良くセットで使われますね。 この加算・減算を忘れると無限ループに。こわい #ノンプロ研

2020-09-30 20:59:45
タカハシノリアキ @ntakahashi0505

無限ループをさせる演習。 Jupyter Notebookは「■」ボタンで止められます。 この演習もどの言語でも取り入れてますね。いざとなったときに慌てないように… #ノンプロ研

2020-09-30 21:03:01
タカハシノリアキ @ntakahashi0505

for文の説明のたとえ 「運動会の玉入れで入った玉の数を数えるとき」 このたとえ秀逸っすね~ #ノンプロ研

2020-09-30 21:04:16
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

while文ともう一つの反復処理、for文。 whileが条件式で反復をするのに対して、forは順番に取り出して反復します。 forループのイメージは、運動会の玉入れで玉を数えるイメージ #ノンプロ研

2020-09-30 21:05:01
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

Jupyter Notebookで無限ループが起きた時は、「Ctrl + C」では止められませんでしたorz 上の◾︎マークで止めよう! #ノンプロ研

2020-09-30 21:06:16
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

シーケンスのおさらい。文字列、range、リスト、タプルなど。インデックスを持つもの。 rangeオブジェクトはrange(start, stop, step) startからstop未満、step飛ばしの整数のシーケンスを生成します。 #ノンプロ研

2020-09-30 21:08:49
タカハシノリアキ @ntakahashi0505

Pythonのfor文は非常にシンプルで優秀な構文なのですが、前段に説明すべき要素が少し多いっす 講座としては、腕の見せ所っす #ノンプロ研

2020-09-30 21:08:57
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

イテラブル。順番に取り出すことができるオブジェクトのこと。つじけさんが好きなやつw #ノンプロ研

2020-09-30 21:09:47
タカハシノリアキ @ntakahashi0505

それで、そのrange関数を説明するために、前回文字列に関連して「シーケンス」を出しておいたのが伏線となってて、rangeに入りやすくしてます そして、なんとかfor文をクリアしつつ、さらに「イテラブル」の概念も獲得します。 #ノンプロ研

2020-09-30 21:13:12
Kenny Tsuji | 『旬北海道』北海道から世界の食卓へ @TsujiKenzo

@massasquash 好きっていうか、この後もずーっと付き合っていくんだろうなって思ったら、今のうちに理解しとけ!って思って考察したら深みにハマっただけです!w みなさんも是非! #ノンプロ研

2020-09-30 21:16:50
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

ネスト(入れ子構造)はいくらでも深くすることができるけど、なるべく深く書かないように。多くても3つくらいまでを目安にして、他の書き方を探してみるのが良いです。 こういった配慮が「読みやすいコード」に繋がります! #ノンプロ研

2020-09-30 21:18:24
タカハシノリアキ @ntakahashi0505

ネストはなるべく浅く…! さらに、Pythonではライブラリが充実しているので、反復すら使わずに実現できる選択肢が存在していることも多くあります。 アンテナは広くしておきましょう。 #ノンプロ研

2020-09-30 21:19:55
タカハシノリアキ @ntakahashi0505

第2回、宿題多いっすね~ そういえば、初心者Python第2回は、全講座で最大出題数でした。 早めに着手して、つまったところはうまくSlackを活用しましょう。 #ノンプロ研

2020-09-30 21:24:25
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

みんな大好きFizzBuzz問題。英語圏で長距離ドライブ中や飲み会の時に行われる言葉遊び、らしいw (wikipedia情報) #ノンプロ研

2020-09-30 21:24:55
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

宿題は、10分考えて全然分からなければ、考えすぎないでSlackで相談してみましょう!できたところまでで投稿してもらOKです #ノンプロ研

2020-09-30 21:27:06
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

お次は「関数」。関数は一連の集まりに名前をつけたもの。 関数に渡す値を「引数」と呼び、関数から受け取る値を「戻り値」と呼びます。 #ノンプロ研

2020-09-30 21:30:44
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

関数の名前をつけるときは「名前を見ただけで何をやる関数なのか」わかるような名付けを意識。ここでアンダースコアで英単語をつなげる書き方は、蛇のように繋がっているのでsnake_caseと呼んだりします。#ノンプロ研

2020-09-30 21:34:45
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

講座にあたって、テキストエディタで進めるのと、JupyterNotebookで進めるのとで地味に違う点。 一度定義して実行した関数はずっと残ってしまうので、「Kernel」 -> 「Restert」で一度ノートブックの実行結果をリセット。 #ノンプロ研

2020-09-30 21:41:11
タカハシノリアキ @ntakahashi0505

比較的最初の段階では、エラーをわざと出すという演習もちょこちょこ入れてますね。 何が問題なのかはもちろん、エラーの読み方とかにも慣れてもらおうという意図です。 初心者のうちはどうしてもエラーメッセージを見ない傾向がありますね。ぜひ早めになれちゃいましょう。 #ノンプロ研

2020-09-30 21:42:43