Python

PythonでクラスC内の型ヒントにC自身を指定するとNameErrorが発生する問題の対処法

問題 以下のようにあるクラスCのメソッドfの型ヒントにC自身を使いたいとします。 class C: def f(self) -> C: # causes NameError! return C() このコードをそのまま実行すると以下のようにNameErrorが発生します。 $ python foo.py Traceback (most recent…

pytype:型ヒントなしでも使えるPython用静的型検証ツール

github.com PytypeはGoogle製のPython用静的型検証ツールです。型ヒントなしのコードでも型推論を行って検証し、潜在的なバグを指摘してくれます。 インストール pip install pytype 使用例 例えば以下のようなfoo.pyというファイルがあったとします。 def i…

バイオリン図で数値データの分布を可視化する

今更ながらデータの分布を比較する図法「バイオリン図(violin plot)」の存在を知りました。 バイオリン図とは ↑のような図です。数値データの分布の可視化や比較に使います。データ分布の描画にはカーネル密度推定が用いられています。 Matplotlibではviol…

映画「The Social Network」の脚本をNLTKで解析して遊んでみた

※この記事には映画「The Social Network」のネタバレがそれなりに含まれています.これから映画を観る予定の方は逃げた方が賢明です.