1人アドベントカレンダー14日目「エキスパートPythonプログラミング読書会 第二期 02」
エキスパートPythonプログラミング読書会 第二期 02 2011/12/13 19:00〜22:00
https://connpass.com/event/118/
初回の読書会の感想と前後してしまいますが、昨日開催された第2回目について先に書きます。
場所は目黒のバリストライド株式会社様の会議室。
自己紹介
少し遅れて行ったのですが(ビル前で@kashew_nutsさんとご一緒に)何故か講師役の清水川さんの周辺には誰も座っていなかったので、少しでもお声が聞こえるように斜向かいに着席させて頂きました。
始まってすぐに、今日は机ごとに自己紹介。やはり人との出会いは大切ですよね。
私のいた机のメンバはこの方たち。
@shimizukawaさん
@lincolinnyanさん
@inoshiroさん
@takuan_oshoさん
と、遅れてきてお伺いできなかったもう御一方。
本編
自己紹介が終わって本編始まりましたがレベル高いです。
範囲が実際のコーディングについての2章。
@t2yさんの前回の資料も少し参照
http://www.slideshare.net/t2y/py-02-2-5316487
自分のツイートをまとめるとこんな感じでした。
- 内包表記
- enumerateにはこんな使い方がある
- mapよりリスト内包表記のほうが速い
- コンパクトに書けるならリスト内包表記で。長くなるようならば素直に構文を使って書く。
- リスト内包表記をネストさせて嫌われた事のある人いますか? [x for x in [y for y in [z for z in range(10)]]]
- "import this"と打ち込むと19の詩編が出てくる。The Zen of Python, by Tim Peters ...
- イテレータ
- ジェネレータ
- fibonacci関数(実際はジェネレータ)で説明
- 配列を作ろうとしてもずっと続くので、メモリを圧迫してしまう。
- yieldが入ってるとジェネレータになる
- 巨大なログを読み込む時などにジェネレータが使える
- openは1行ごとの読み込み等やってくれるので通常は問題ないけど、フィルタをかけたり全部読み込ませたい時に使える
- ジェネレータは基本的には戻らない
- sendは外からyieldに返り値を渡す物
- コルーチン
- マルチスレッドじゃないけど、yieldで一旦止めて、他の処理をさせて・・・並行処理をしているかのような感じ
- ジェネレータでぐるぐる回してやって、外から何か変化があった場合にyieldで渡してあげる
- リスト内包表記の記述をちょっと変えるとメモリ消費が抑えられる。[x for x in range(10)] ⇒ (x for x in range(10)) これがジェネレータ式
- 3系ではxrangeがrangeになるので、今2系ではあまりメリットが無い。量が大きい時に使うくらい。
- マルチスレッドじゃないけど、yieldで一旦止めて、他の処理をさせて・・・並行処理をしているかのような感じ
- map,reduce,filter
- リスト内包表記があるので、reduce、filterは使わなくても、あまり問題はでない
- Pythonは式と文を明確に区別している
- PEPは議論する為のもの
それからmap、reduce、filterは高階関数なのかと思って、ずれた勘違いでツイートして@shimizukawaさんにご迷惑おかけしてしまいました。申し訳ありません(汗
他にも、ツイートでいくつか教えて頂いた事もありました。リプライ頂いた方、ありがとうございます。
ビアバッシュ&LT大会
3名の方+αがLTしました。
- @tk0miyaさん
- みんなLTをやろうよ!という内容でした。実際後の2名の方も名前の通った方でLT常連でもあります。
- @takanoryさん
- ご自身の活動状況をLTされてました。「知ってますよね?」の連発でハードル高かったです(笑)
- @shomah4aさん
- ご自身の活動やイベントの告知をされてました。横浜.pyは私も参加させて頂きます。
また、今回は私が初めて自発的にLTをやってみました!
今までは、ワークショップで何故かリーダー役に指名されて発表とか、人の後押しでハッカソンの発表をやったりしていました。
が、先日、社内での発表があまりにも無残であった為、そして自分はほっとけばいつまでも逃げてしまう性質なので、これからは許される限り勉強会ではLTをやって、人に伝えたい事を伝える、自分を追い込むという事をしたいと考えての事です。
テーマは、
「下には下がいる」
まだ感想を投稿していませんが前回の「Python mini Hack-a-thon」がきっかけで初心者が発表する事で他の初心者のアウェイ感を失くす事ができると教えて頂いた事がきっかけです。
時間もなく、その場で10分少々で作成したショボイ内容でしたが、なんとか発表できました。これが人の為になったかどうかはわかりませんが・・・
自分にとって不意打ちだったのが @takanoryさんからの「ブログは?」という言葉。
まさかこのメンバの中にブログを読んでる人がいらっしゃるとは思わなかったので、恥ずかしいやらなんやらで知らないフリして逃げようかと思ったのですが勇気を出して紹介させて頂きました。
@kashew_nutsさんもご存じだったようで(^-^;
所感
- とにかくプログラミングスキル不足が感じられてしまってます。毎日数行でもいいからコードを書く事にしました。
- ぼっち体質が全然改善されてません。いいから知らない人の所にどんどん入って行くようにしたいです。