База Hintsage

Модель данных

Протоколы объектов, dunder-методы, дескрипторы и классы.

Практика

Вопросы: Модель данных

Вам передали контекстный менеджер. Определите, дойдёт ли ValueError до обработчика и что напечатает программа.

class CM:
    def __enter__(self):
        print("enter")
        return self

    def __exit__(self, exc_type, exc, tb):
        print(exc_type.__name__)
        return True

try:
    with CM():
        print("body")
        raise ValueError("bad")
except ValueError:
    print("propagated")
else:
    print("handled")

Показано 2140 из 50