プロポーザル
これは応募されたプロポーザルです。聞きたいと思うプロポーザルを各ページの下部にあるSNSのボタンで拡散しましょう。拡散された投稿をプロポーザルへの投票としてカウントし、選考時に参考にさせていただきます。
talk
メタクラスでクラス定義を操ろう(ja)
スピーカー
Atsushi Odagiri
対象レベル:
上級
カテゴリ:
Core Python (Language, Stdlib)
説明
Pythonのクラスはオブジェクトとして参照できるtypeクラス(メタクラス)のインスタンスとなっています。
typeを拡張した別のメタクラスを作成して特殊なクラス定義をしてみましょう。
目的
クラスをオブジェクトとして扱うことやクラスの実行時定義、特殊なクラス定義の方法を知る。
メタクラスを利用したライブラリがどのように作成されているか知る。
概要
pythonのクラスは変数に代入できるオブジェクトです。オブジェクトなのでもちろん型を持っています。クラスはtypeクラスのインスタンスとなっていて、実際にclass構文なしでクラスを生成できてしまいます。
この発表ではtypeを利用したclass構文をハックや実際に使われているメタクラスの活用法を紹介します。