Какие типы фаерволов знаешь

Python Senior Без компании
Какие типы фаерволов знаешь
Ответы
В Python существуют три основных типа фаерволов (final, frozen, sealed), которые помогают контролировать наследование и изменение классов: - **@final** (PEP 591) - запрещает наследование от класса или переопределение метода: ``` from typing import final @final class Base: pass class Child(Base): # Ошибка: Cannot inherit from final class "Base" pass ``` - **@frozen** (из dataclasses) - делает атрибуты класса неизменяемыми: ``` from dataclasses import dataclass @dataclass(frozen=True) class Point: x: int y: int p = Point(1, 2) p.x = 3 # Ошибка: cannot assign to field 'x' ``` - **@sealed** (PEP 622) - ограничивает набор возможных подклассов (пока не реализовано в стандартной библиотеке). Эти декораторы помогают создавать более надежный и предсказуемый код, предотвращая нежелательные изменения в иерархии классов.