マイクを持って話す。これぞ文明の機器。
去る2017年1月31日にヤフージャパンにて「Python 3.6 リリースパーティ」が行われた。 pystudy.connpass.com
当初は一般参加のつもりであった。 石本さんのPython 3.6に関する一連のエントリを読んでクラス生成に関する新機能が『Effective Python』のメタクラスに関する項目で使えることに気づいた。 自分でも書いてみたら思いのほかきれいにかけたので発表してみようかと思い立った。
以下、感想を簡単に綴る。
開会
パーティー感の残骸です #pystudy pic.twitter.com/ttz93fuqB5
— Takanori Suzuki (@takanory) 2017年1月31日
おもしろうてやがてかなしきクラッカー #pystudy
— Hayao(-ε-δ) (@CardinalXaro) 2017年1月31日
@atsuoishimoto 「Python 3.6 の新機能と改善」
www.slideshare.net
secretsはよさそう。セキュリティ系は自前実装が鬼門なので #pystudy
— Hayao(-ε-δ) (@CardinalXaro) 2017年1月31日
pathlibを使ったとき、パスを文字列に変換してopen()に渡していた #pystudy
— Hayao(-ε-δ) (@CardinalXaro) 2017年1月31日
__init__subclass__, __set_name__でもカバー出来ないメタクラスの使い方ってあるのだろうか。その機能を複数のクラスにライブラリ感覚で使いまわしたいケース? #pystudy
— Hayao(-ε-δ) (@CardinalXaro) 2017年1月31日
フォーマット文字列内部でエスケープが使えないのははまりポイントになりそうである。
@Masahito 「PEP526 and 周辺ツールについて」
www.slideshare.net
型アノテーションはPyCharmと組み合わせると便利 #pystudy
— Hayao(-ε-δ) (@CardinalXaro) 2017年1月31日
collections.namedtuple()はもう古い? #pystudy
— Hayao(-ε-δ) (@CardinalXaro) 2017年1月31日
型チェッカのデファクトはmypyという認識であった。 単独で使うと効果が薄そうなので何かのツールにフックさせて適宜チェックすると効果がでそうである。 PyCharmを使うとよしなにやってくれそうである。
@t2y 「async関連」
詳しい人、マサカリ持ってたりしない? #pystudy
— Hayao(-ε-δ) (@CardinalXaro) 2017年1月31日
Effective Pythonだとyield fromによるコルーチンが紹介されている #pystudy
— Hayao(-ε-δ) (@CardinalXaro) 2017年1月31日
いらすとやの絵を見るとなぜか笑みがこぼれてしまう #pystudy
— Hayao(-ε-δ) (@CardinalXaro) 2017年1月31日
ジェネレータに慣れている…うっ頭が #pystudy
— Hayao(-ε-δ) (@CardinalXaro) 2017年1月31日
非同期には詳しくない、といいつつもここまで調査できてすごいなあと感じた。 中々非同期処理は慣れないのでいち早く武器にしたい。 そのためには項目40をasyncで書き直すのがよいであろう。これは読者への課題としよう。 (松坂和夫『集合・位相入門』に頻出する表現)
@CardinalXaro 「Effective Python in Python 3.6」
— tadashi-aikawa (@Tadashi_MAMAN) 2017年1月31日
凄くリリースパーティーっぽいLTだ #pystudy
— akihiro takizawa (@turky) 2017年1月31日
— ゆーし (@Yuhshi) 2017年1月31日
— TakesxiSximada (@TakesxiSximada) 2017年1月31日
.@CardinalXaro がマイクをちゃんと使ってLTをしているのを見て、成長を感じている #pystudy
— Takanori Suzuki (@takanory) 2017年1月31日
polygonって言われてポケモンを思い出さない程度なのでついウケてしまった #pystudy
— 気持ちはスッキル (@everes) 2017年1月31日
石本さんの話の後のinit_subclassの具体的なサンプル
— y_hashi (@yellow844) 2017年1月31日
なるほど#pystudy
EffectivePythonのItem33, 34, 35
— FRS (@FRS_MoonHopes) 2017年1月31日
→これらは3.6でメタクラスを使わなくよくなる
Item33→__init_subclass__()を使うと簡略化できる
Item35→__set_name__()を使うと簡略化できる#pystudy
脱Metaclass(多分#pystudy
— egyptnekocode (@egptnekocode) 2017年1月31日
コード例が分かり易かった #pystudy
— akihiro takizawa (@turky) 2017年1月31日
最初の方でわからなかったけど、さっきのLTで __set_name__() の使い方というか使いどころというか、ちょっと腑に落ちた。 #pystudy
— ゆーし (@Yuhshi) 2017年1月31日
色々とボケを考えてきたものの、概ねまじめに話していた。 多角形ときれいに発音する自信がなく、ポリゴンがとっさに頭に浮かんだのでつい口に出してしまった。
@terapyon 「この10年の Python」
着実にPythonが進化してきた歴史を感じる。 僕が最初に触ったPythonはSage Mathなので恐らく2系であるが、Python単独で学び始めたのは3系である。学部3,4年の話なので3.2ぐらいと思われる。
@aodag 「Python3 移行への軌跡」
www.slideshare.net
こちらはPython3の移行の歴史でライブラリ側の進化を感じる。 AWS LambdaがPython 3に対応すれば恐らく新規にPython 2で開発することはないだろう。
最後に
スライド共有サイトにスライドをアップロードする経験ができてよかった。地味に憧れていた経験である。 関係者の皆様で発表する機会を得ることができた。 感謝の念でいっぱいである。