項目33「サブクラスをメタクラスで検証する」はこう書き換わる Python 3.6がリリースされた。 Python 3.6で導入された新機能の一つに__init_subclass__がある。 PEP 487 -- Simpler customisation of class creation | Python.org か石本さんのエントリを参照してほしい。 atsuoishimoto.hatenablog.com 『Effective Python』の項目33「サブクラスをメタクラスで検証する」ではメタクラスを使ってサブクラスの検証(値の整合性チェックなど)を行うテクニックが解説されている。 多角形のクラスを定義する際に、頂点数が3未満の場合はValueErrorを送出する、というサンプルがある。 class ValidatePolygon(type): def __new__(meta,