acokikoy's notes

{"勉強中":"Python","注目":"Shopify","LOVE♡":["ABARTH595","TA-GG9","Ukulele","Movable Type","ガーナ ミルクチョコレート"]} なWebディレクター

イベント参加ログ》Python Boot Camp in 群馬 2019/11/02 13:00-17:00, 懇親会

pyconjp.connpass.com

参加目的・獲得目標

  • ひとりで勉強し続けるのは苦手なので、"もくもく会ドリブンで継続&成長するよ” 計画の番外編。
  • 前から気になっていて、群馬県(ちょびっと縁がある)初開催を知って参加した。

勉強メモとか、気づきとか

教科書
Python Boot Camp テキスト — Python Boot Camp Text 2016.04.28 ドキュメント

  • まさかこの分量を半日で全部は無理やろ。。。と高をくくっていたらきっちり全部通して、質疑応答時間付き。素晴らしい!!
  • レベル感が自分にとって丁度良い感じで頭の整理になった。
  • 講習会そのものも、懇親会も、対面で聞かないとわからない発見がいくつもあって参加してよかった。

  • 講師:清水川さん

  • TA: 村岡さん、吉江さん、peacockさん
  • 現地スタッフ: @kanayannetさん、@clicktxさん

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) にしているのはそのため。

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 ドキュメント

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 => 言語仕様のバージョンと配布物のバージョンは違うことがある。

おやつタイム

気になるけれど ”見た目がエグい” ので手が出ずにいた お蚕さんお菓子。ついに食する機会をえましたー。うん、普通にオイシイ チョコだった。 葉っぱが桑パウダー入りだけど、さすがにリアル蚕は入ってないそうです(当たり前か ^^;

懇親会

めったに懇親会に出ないヒトだが、せっかく泊まりがけで行くので出席しました。

  • 子ども対象のイベントは参加者のレベル差が大きい。そこが難しい。
  • 親子イベントのロボットものとかプログラム教室とか面白そう(羨ましい)。大人の遊び場も欲しいにゃ。。
  • Pythonらしい考え方・コーディングお作法 PEP20, PEP8
  • フローチャートってあんま書かない。ユースケース図みたいの?!は書くよ。
  • コメントで(自然言語で)処理の骨子を書いて、コードで肉付けしていく。

雑多な気づき

  • 東京-高崎間はカーナビで2時間ほど。なめてかかってたら、当日朝に「紅葉深まる三連休の初日、しかも秋晴れ」に気づき、慌てて1時間繰り上げ出発した。すでに渋滞していて少し焦った。
  • 高崎
    • 街ゆくヒトの「歩きスマホ率」低って思った。クルマ社会だからかちらん?!
    • 駐車場安っ 羨ましい。