何かを書き留める何か

数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。

『Effective Python 2nd ed.』項目2:PEP 8スタイルガイドに従おう

言語に依存しない原則

Effective Python 2nd ed.』の続き

effectivepython.com

これも初版からの続投であるが、コーディングスタイルを揃えるという話題はPythonに限らずどの言語でも重要なことである。 Pythonの場合、PEP 8という形で広く使われているコーディングスタイルがあるのでそれに従ったほうがいいよ、という話である。

最近使っているツールを振り返ってみる。 コードフォーマッターとしてBlackisort、 静的解析としてflake8mypy、 複雑度チェックにradonを採用している。 いずれも、「なるべく尊重しよう」ではなく、CIのステップの1つとして必ずチェックされるようにCIを設定している(使っているのはGitLab CI)。 そのため、機械的に判定できる部分で各々の好みが出ることはない。 ある程度の品質を保つことができている...と信じたいがこれらは最低限のものであり、 コードベースの品質を高めるには『Effective Python 2nd ed.』をさらに読み進めていくほかない。

『Effective Python 2nd ed.』項目1:使っているPythonのバージョンを知ろう。

3.8時代の『Effective Python

Effective Python』は2015年3月に発売された。

effectivepython.com

2015年頃は日本でもPythonが普及し始めた(ように見えた)が、 中級者以上向けのPython本としては『Expert Python Programming』(邦訳は『エキスパートPythonプログラミング』)しかなかった時代であった。 『Effective Python』はPython 3.4をベースに2.7向けの説明も含むものであった。 2019年の3.7が主流になった現在でも通用する内容であるが、古くなってしまった箇所もあった。

2019年11月に紙媒体の『Effective Python 2nd ed.』が発売されることが筆者のBrettさんによってアナウンスされた。

effectivepython.com

Python 3のみ対応で最新版である3.8もカバー、30個以上の新しい項目にアップデートと初版の1.5倍のボリュームになった。 11月まで楽しみに待っていよう...と思っていたが、O'Reilly MediaのSafari(現在はO'Reilly Learningという名前かも)から電子版が読めることが分かった(!)ので、少しずつ読み進めてみよう。 なお、初版と同様に翻訳が出るのか、という期待もあるがどのような計画が進められているのか私は知らない。

1章:Pythonic Thinking(Python流思考)

1章の前文は初版と同様で、「C++っぽいPython」や「JavaっぽいPython」ではない「Pythonらしい(Pythonic)Python」を書こうぜ、という内容である。

項目1:使っているPythonのバージョンを知ろう。

Python 3を使おう、というのは初版と同じであるが、初版時代はまだまだ2.7が現役であった。 過去の自分は以下のように感想を述べている。

Python プロフェッショナルプログラミング』もPython2.7だったし『Python言語によるプログラミング・イントロダクション』もPython2.7だしまだまだPython2.7は使われるのだろう。

『Effective Python』Item 1: 利用しているPythonのバージョンを知る - 何かを書き留める何か

xaro.hatenablog.jp

中々感慨深いものがある。

また、直近の業務経験を踏まえると、Dockerのコンテナ単位で環境を固めて運用することが多いので人によってPythonの環境が異なる、という事も少なくなったような気がする。 いい時代である。

PyCon mini Hiroshima 2019に参加しました

初めての広島

2019年10月12日に広島市立大学サテライトキャンパスにてPyCon mini Hiroshima 2019が行われた。 今回、『Pythonで楽しむ初等整数論』という題目で発表を行った。

hiroshima.pycon.jp

何度か技術系のカンファレンスやイベントで発表をしたり、聴講したりしてきたが、いずれも東京やその近辺で開催されたイベントであった。 今回、初めて東京近辺以外の技術系カンファレンスに参加した。

登壇やその準備に関する話は会社の技術ブログに色々書いた。

iridge-tech.hatenablog.com

カンファレンスの雰囲気はTogetterにまとまっている。

togetter.com

このエントリでは、それ以外の話題について書いてみる。

台風19号、来たる

台風15号も中々の規模であったが、台風19号はもっとすごいことになっていた。 スケジュールがうまいことに台風の影響をなるべく避ける日程になっていたので運良く広島まで飛ぶことができた。 飛行機は高校の修学旅行以来で感覚を忘れていて中々に怖かった。 台風の余波なのか、そういうものなのかの切り分けができていないが、それでも離陸時の加速度は「おおっ?」と思った。

寝落ち

無事、広島に到着したが、当日は家の始発に乗って向かったため非常に眠い状態であり、 前日の食事会にいくそぶりを見せつつ寝落ちするという相当ひどいことをしてしまった。 広島の土地勘がないためタクシーを駆使して向かった。 お好み焼きは美味しかった。

広島のポケモンセンターヒロシマコイキングのシールを購入した。

当日

広島は台風19号のルートからは外れていたが、強風域には入っていた。 この手のイベントではGitHubのアカウント同じ帽子を被っているが飛ばないように外していた。

PyCon mini Hiroshima 2019の講演はどれも興味深く、かつ面白いものであった。 内容もバラエティに富んだものでそれなりの長丁場であったが飽きさせないものである。 特に、一番最初のCADの話はITの威力を感じさせるもので印象に残った。

広島観光

PyCon mini Hiroshima 2019の翌日は観光に出かけた。 まず向かったのは宮島。 JR広島駅から山陽本線で宮島口へ向かい、フェリーで宮島に上陸した。 厳島神社は長蛇の列で並ぶ元気がなかったので遠目にみつつ宮島水族館へ向かった。 マスコットキャラクターはフンボルトペンギンであったが、力を入れていたのは瀬戸内海に生息する生物の展示であった。 宮島にも山があり、弥山の登山もやってみたかったが、装備が不足していたのと時間が遅かったので断念した。 次回、来ることがあれば挑戦してみたい。

その後、広電で原爆ドームへ向かった。 教科書や写真、テレビでは幾度もみてきた原爆ドームをやっと自分の目でみることができた。

予定よりも宿泊日数を1日増やして戻ってきた。 帰りの飛行機は行きよりも揺れが少なかったが、雨模様の羽田へ向かうときはやはり揺れていた。 なんとかアパートに戻り、台風による損害が起きていないことを確認した。

感想?

今まで、旅行っぽいものをしたことがなく、修学旅行や合宿など誰かが予定を組んだ旅行しか経験がなかった。 次はどこにいくのだろうか。