Я использую декораторы классов в Python и не могу понять, какую аннотацию типа дать моему классу, чтобы сделать mypy счастливым.
Мой код следующий:
from typing import Type
from pprint import pformat
def betterrepr(cls:Type[object]):
"""Improve representation of a class"""
class improved_class(cls): # line 12
def __repr__(self) -> str:
return f"Instance of {cls.__name__}, vars = {pformat(vars(self))}"
return improved_class
У меня сейчас 2 следующие ошибки:
myprog.py: 12: ошибка: недопустимый тип "cls"
myprog.py: 12: ошибка: недопустимый базовый класс
Что я должен использовать для типа cls
(и, кстати, является ли Pythonic использовать это ключевое слово для класса, используемого в качестве аргумента?)?
Спасибо