sguruapp@gmail.com
facebook vk instagram Телеграм youtube

Что такое final в Python


final — это аннотация (не ключевое слово), которая указывает, что: 
  • Переменную нельзя переназначать.
  • Класс нельзя наследовать.
  • Метод нельзя переопределять в подклассах.

Эта возможность появилась начиная с Python 3.8 в модуле typing.

Пример использования

Работа с переменной
from typing import Final

guru_python: Final = "Python"
guru_python = "Swift"

IDE покажет предупреждение (но не вызовет ошибку)


Работа с классом
from typing import Final

@final
class Guru:
pass

Ошибка
class Course(Guru):  
pass


Работа с методом
from typing import Final

class Guru:
@final
def start_course(self):
print("Python course")

class Corses(Guru):
Ошибка: нельзя переопределять
def start_course(self):  
print("Swift course")


Python не блокирует это на уровне интерпретатораfinal работает только для анализаторов кода (например PyCharm).
Это инструмент для документации и защиты API, а не для полной безопасности исполнения.

Индивидуальный курс по Питону:





Возврат к списку

обучись профессии будущего

Хочешь стать успешным разработчиком
приложений? Тогда добро пожаловать к нам.

обучись профессии будущего