В Python функции являются Объектами первого класса (first-class objects). Это означает, что их можно рассматривать как любые другие объекты, такие как числа, строки или списки. Вы можете: Присваивать функции переменным. Хранить функции в структурах данных (списках, словарях). Передавать функции в качестве аргументов другим функциям. Возвращать функции из других функций. Возможность передавать функции в качестве аргументов другим функциям — это мощная концепция, которая лежит в основе многих продвинутых паттернов программирования, таких как Функции высшего порядка (higher-order functions), Декораторы и Колбэки...
Согласно модели данных Python, язык предлагает три вида методов: статические, класса и экземпляра класса. Давайте посмотрим, что же происходит за кулисами каждого из видов методов. Понимание принципов их работы поможет в создании красивого и эффективного кода. Начнём с самого простого примера, в котором демонстрируются все три вида методов. class ToyClass: def instancemethod(self):
return 'instance method called', self
@classmethod
def classmethod(cls):
return 'class...