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

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

講座中に質問いただけるの、ホストおじさんは嬉しいです! #ノンプロ研

2020-10-14 20:40:12
タカハシノリアキ @ntakahashi0505

enumerate関数、zip関数をわりと丁寧に説明しているのは、Pythonのスマートさを味わっていただくとともに、for文、タプルとそのアンパックの復習にもなるからですね~ #ノンプロ研

2020-10-14 20:44:23
タカハシノリアキ @ntakahashi0505

zip関数で、要素数の異なるイテラブルを組み合わせるとどうなるか? "入力イテラブルの中で最短のものが尽きたときに止まります。" docs.python.org/ja/3/library/f… #ノンプロ研

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

質問がたくさんあっていい感じです。 アンパックは、タプルの複数の要素をそれぞれ個別の変数に代入すること。 またzipでイテラブルの要素数が違う場合、要素数が少ない方に合わせた数だけzipオブジェクトの反復可能なタプルが生成します。 #ノンプロ研

2020-10-14 20:47:24
タカハシノリアキ @ntakahashi0505

続いて、「オブジェクト」に話題が移ります #ノンプロ研

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

Pythonで扱うすべてのデータは「オブジェクト」 Pythonであらかじめ用意されている型のことを「組み込み型」 と呼びます。これまで出てきたint型やstr型、リスト型などのデータ型のことが組み込み型です。 #ノンプロ研

2020-10-14 20:49:22
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

例えば「リストから要素を探してインデックスを返す関数を作りたい」という目標があった時に、制御構文を組み合わせたコードを書いて作ることができますが……(写経中) #ノンプロ研

2020-10-14 20:54:23
タカハシノリアキ @ntakahashi0505

演習4-4はenumerate関数の復習、def文の復習とともに、次の内容への伏線となってます #ノンプロ研

2020-10-14 20:55:38
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

このようなよく使いそうな便利機能は、リストオブジェクトの「メソッド」としてPythonに用意されています(indexメソッド)。 頑張って手を動かしてコードを書いたのに、それが1行で書けてしまうなんて(けどそれが便利さを知るために大事なのですw) #ノンプロ研

2020-10-14 20:59:34
タカハシノリアキ @ntakahashi0505

Pythonの場合は、組み込み関数、組み込み型、組み込みモジュールなどそもそもの機能が盛りだくさんであることに加えて、外部ライブラリも無数にあります。 「今の処理は、誰かがカンタンにできるようにしてくれてるのでは?」という疑問があったとすると、わりとヒットします。 #ノンプロ研

2020-10-14 21:02:11
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

オブジェクトが持つモノが「属性」。 そして属性には「メソッド」と「インスタンス変数」があります。 この辺、僕も受講中に整理するのに時間がかかったな…。「クラス」の考え方をTAさんに教えてもらって、少し身近に感じることができるようになりました。 #ノンプロ研

2020-10-14 21:03:17
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

関数とメソッドの違いについて。似ているものですが、所属と呼び出し方、呼び出す書式が違います。 #ノンプロ研

2020-10-14 21:04:29
タカハシノリアキ @ntakahashi0505

組み込み関数や、組み込み型のメソッドの引数に「イテラブル」を指定するもの多いですね~ なので、事前に「イテラブル」を説明しておかないと、「リストとか色々」みたいなあやふやな説明しかできなくなる。 適切なタイミングで言語と概念を獲得しておくのは、学習において大事なのです #ノンプロ研

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

文字列型のメソッドについて。 str.replace()みたいに、文字列オブジェクトに .(ドット)でメソッド名を続けて書きます。 講座で紹介された他にもたくさんあるので、タカハシさんのノンプロPython本(仮)を是非とも! #ノンプロ研

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

演習の中で、文字列リテラルでダブルクォーテーションとシングルクォーテーションを使い分けるケースの復習。文字列の中にシングルクォートを使う必要があるときは、それを囲うのはダブルクォートにする必要があるのでした。逆も然りです #ノンプロ研

2020-10-14 21:12:53
タカハシノリアキ @ntakahashi0505

joinメソッドを「','.join(words)」と書くのは違和感ありますよね ただ、list型、tuple型、str型などイテラブルに含まれる型すべてのメソッドとして実装するよりは、str型に実装するほうが一発で済むということなのかなと思っています。憶測ですが #ノンプロ研

2020-10-14 21:16:52
タカハシノリアキ @ntakahashi0505

Jupyter Notebookだと、セルごとに実行できるので、講座の演習解説も同じセルを2回実行してみたり、変数の値を再度初期化したり、縦横無尽に実行した結果を見せられる。 これは講座的にはメリット大きいかも。 #ノンプロ研

2020-10-14 21:23:37
タカハシノリアキ @ntakahashi0505

sortメソッドのkeyに関数を渡せる。ちょっとややこしいけど、複雑なルールでの並び替えが可能に。 #ノンプロ研

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

次に辞書型のメソッド。 辞書型はリストと違ってキーと値をもつ、シーケンスでないイテラブルのことでした。 特にget()メソッドとsetdefault()メソッドがちょっと独特なので、写経して体感を掴み中。 #ノンプロ研

2020-10-14 21:29:58
タカハシノリアキ @ntakahashi0505

辞書のkeys, values, itemsメソッドは、ビューオブジェクト(view object)というイテラブルを返します。 #ノンプロ研

2020-10-14 21:34:16
タカハシノリアキ @ntakahashi0505

Python講座では、おにぎりが登場する演習がちょこちょこあります。 お腹が減ってると辛いので、お腹はある程度満たして受講されることをおすすめします。 私のお腹もグーグーいってます。 #ノンプロ研

2020-10-14 21:37:52
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

きました、おにぎり問題。そして続けてジャンケン問題。 やや複雑な課題なので、少しずつ書いてデバッグしながら進めるのをオススメいたします、という神の声。 #ノンプロ研

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

本日のトピック、最後はモジュールについて。ボーナスタイムw Anacondaをインストールすると、標準ライブラリ(os, datetime, randomなど)+同梱ライブラリ(requests, openpyxl, beautifulsoup4など)が使えるようになっています。 #ノンプロ研

2020-10-14 21:41:03