イベント参加ログ》Python Boot Camp in 群馬 2019/11/02 13:00-17:00, 懇親会
- 参加目的・獲得目標
- 勉強メモとか、気づきとか
- 2. Pythonをはじめよう — Python Boot Camp Text 2016.04.28 ドキュメント
- 3. Pythonのデータ型(基本編) — Python Boot Camp Text 2016.04.28 ドキュメント
- 4. Pythonのデータ型(コレクション編) — Python Boot Camp Text 2016.04.28 ドキュメント
- 5. ファイル操作とモジュール — Python Boot Camp Text 2016.04.28 ドキュメント
- 7. Web API、スクレイピング — Python Boot Camp Text 2016.04.28 ドキュメント
- 8. 次のステップ — Python Boot Camp Text 2016.04.28 ドキュメント
- 質疑応答タイム
- おやつタイム
- 懇親会
- 雑多な気づき
参加目的・獲得目標
勉強メモとか、気づきとか
教科書
Python Boot Camp テキスト — Python Boot Camp Text 2016.04.28 ドキュメント
- まさかこの分量を半日で全部は無理やろ。。。と高をくくっていたらきっちり全部通して、質疑応答時間付き。素晴らしい!!
- レベル感が自分にとって丁度良い感じで頭の整理になった。
講習会そのものも、懇親会も、対面で聞かないとわからない発見がいくつもあって参加してよかった。
講師:清水川さん
- TA: 村岡さん、吉江さん、peacockさん
- 現地スタッフ: @kanayannetさん、@clicktxさん
#pycamp チュートリアルなう pic.twitter.com/XuZRofMpxO
— Takayuki Shimizukawa (@shimizukawa) 2019年11月2日
2. Pythonをはじめよう — Python Boot Camp Text 2016.04.28 ドキュメント
- 変数 width = 300の意味: データ300 にラベル width をつけている
- シーケンス型(順番を持つ型), list型, touple型, range型
- リストは 、複数のデータ型と組み合わせて使えるコレクションの一つ
- ブロック構造の表現:Pythonはインデントのレベルで、c言語なら{..}で囲むことで、Rubyなら最後に end を書くことで表す。
- round(10.5) => 10 が返る(11じゃない)。round()は小数点丸めなんだけど、四捨五入とはちょっと振る舞いが違う。
- リアルFizzBuzz(意外に難しい)でやった"4人でぐるぐる回す"のが forループにあたる
- Live Programming Mode - Python Tutor - Visualize Python and JavaScript code
- 関数の戻り値は常に同じ型であるべき
- リスト 2.14 fizzbuzz関数で、最後elseの返値が
return num
ではなく わざわざreturn str(num)
にしているのはそのため。
- リスト 2.14 fizzbuzz関数で、最後elseの返値が
3. Pythonのデータ型(基本編) — Python Boot Camp Text 2016.04.28 ドキュメント
# え? floatって打ったらclass 'float'ってどゆこと?? >>> float <class 'float'> >>> str <class 'str'> # str(10) は str型のインスタンス。なるほ、腑に落ちた。 >>> str(10) '10' => インスタンス >>> type('abc') == str True
4. Pythonのデータ型(コレクション編) — Python Boot Camp Text 2016.04.28 ドキュメント
- 複数変数への展開代入
>>> animals ['cat', 'dog', 'snake'] >>> a, b, c = animals
- touple:
3,
は タプル(3, )
と同じこと。- toupleの使いどころ ↓
>>> def do_something(value): ... return value, False # 2値を返す ... >>> do_something(10) (10, False) >>> result_value, success = do_something(10) >>> result_value 10 >>> success False
- dict
get()
メソッドb = user_info.get('bio', 'not exist')
すると dictに存在しないキーの場合でもエラーにならないから存在判定しつつ値を得るみたいなこと(↓こういうの)が1行でできる。
if 'bio' in user_info: user_info['bio'] else: ほげ
- set
- setに要素を追加するときは appendじゃなくて add()
>>> s = {1, 2, 3} >>> s.add(4) >>> s {1, 2, 3, 4}
- 集合の積と和
>>> s2 = {3, 4, 2} >>> s & s2 {2} >>> s | s2 {1, 2, 3, 4}
5. ファイル操作とモジュール — Python Boot Camp Text 2016.04.28 ドキュメント
- ファイルへの書き出しは f.close()のタイミング。途中で強制的に書きだすにはflush()メソッドを使う。
- OSによって開けるファイル数の上限が決まっている。
- closeはつい忘れちゃうから、忘れない書き方(with ほにゃらら)が用意されてるよ。
7. Web API、スクレイピング — Python Boot Camp Text 2016.04.28 ドキュメント
- スクレイピング禁止サイトで、Pythonからか手動アクセスかはどうやって区別してるの?
- UAとか、規則的な振る舞いとか、アクセス間隔とか
- APIリファレンス - connpass
- APIの利用規定 => robotx.txt 見てね
- 例: connpass.com/robots.txt
User-agent: * Crawl-delay: 5 Allow: / Disallow: /series/optout/ Disallow: /account/
8. 次のステップ — Python Boot Camp Text 2016.04.28 ドキュメント
質疑応答タイム
- Python "3.6 " => 3.6は "言語仕様の" バージョン。 マイナーバージョン間(3.6.x)での言語仕様は同じ。
- micropython 1.xx => 言語仕様のバージョンと配布物のバージョンは違うことがある。
おやつタイム
気になるけれど ”見た目がエグい” ので手が出ずにいた お蚕さんお菓子。ついに食する機会をえましたー。うん、普通にオイシイ チョコだった。 葉っぱが桑パウダー入りだけど、さすがにリアル蚕は入ってないそうです(当たり前か ^^;
#pycamp のおやつ!カイコ味のホワイトチョコと、葉っぱ味の抹茶 pic.twitter.com/n6tXuvNtx1
— Takayuki Shimizukawa (@shimizukawa) 2019年11月2日
懇親会
めったに懇親会に出ないヒトだが、せっかく泊まりがけで行くので出席しました。
- 子ども対象のイベントは参加者のレベル差が大きい。そこが難しい。
- 親子イベントのロボットものとかプログラム教室とか面白そう(羨ましい)。大人の遊び場も欲しいにゃ。。
- Pythonらしい考え方・コーディングお作法 PEP20, PEP8
- 標準ライブラリのソースコードを読むと参考になるよ。
- フローチャートってあんま書かない。ユースケース図みたいの?!は書くよ。
- コメントで(自然言語で)処理の骨子を書いて、コードで肉付けしていく。
雑多な気づき
- 東京-高崎間はカーナビで2時間ほど。なめてかかってたら、当日朝に「紅葉深まる三連休の初日、しかも秋晴れ」に気づき、慌てて1時間繰り上げ出発した。すでに渋滞していて少し焦った。
- 高崎
- 街ゆくヒトの「歩きスマホ率」低って思った。クルマ社会だからかちらん?!
- 駐車場安っ 羨ましい。