mypyでクラスを返す関数の戻り値の型をどう書くのか

mypyでクラスを返す関数の戻り値の型を書く方法が分かりません。具体的に言うと、この get_language 関数はLanguageの子クラスを返したいのですが、それを指定する方法が分かりません。

-> Language: と書くと、Languageのインスタンスを期待されてしまいます。

class Language:
    ...


class English(Language):
    ...


class Japanese(Language):
    ...


def get_language(language_code: str):
    return {
        'en': English,
        'ja': Japanese,
    }[language_code]

コメント

2015 - 2017 (c) 成瀬基樹