Pythonの無名クラス

FormWizardを使って入力確認画面を実装するというのをやりたくて、昔書いたエントリを見返してた。

FormWizardで確認画面を表示する - brainstorm


FormWizardで入力確認表示のときのformをダミーにするというもの

#forms.py
class DummyFrom(forms.Form):
    pass

class PersonForm(forms.ModelForm):
    class Meta:
        model = Person
        fields = ('name', 'age')

#views.py
FORM_LIST = [("new", PersonForm),
                       ("confirm", DummyForm)]

class RegisterWizard(SessionWizardView):
    form_list = FormList
    ...


こんな感じでconfirmステップではそれまでに入力したformのcleaned_dataを取得して画面に表示する。


DummyFormが空実装なので、無名関数でも大丈夫だと思って試してみた。

FORM_LIST = [("new", PersonForm),
                      ("confirm", type('DummyForm', (forms.Form,), {}))]


問題なく動く。
やらないけど。
無名クラスが大活躍するようなケースってどんなときだろうか