Курс Python → Методы и функции в Python

В Python методы и идентичность функций играют важную роль. Функции в Python являются дескрипторами, что означает, что каждый раз, когда к функции обращаются как к атрибуту, вызывается дескриптор, который создает объект метода. Этот объект метода «связывает» функцию с объектом, владеющим атрибутом. Таким образом, при вызове метода, функция вызывается, и неявно передается связанный объект в качестве первого аргумента. Именно поэтому мы видим параметр self в методах классов, даже если мы не передаем его явно.

Пример кода, демонстрирующий это поведение:


class MyClass:
    def my_method(self):
        print("Hello from my_method")

obj = MyClass()
obj.my_method()

В приведенном выше примере метод my_method класса MyClass имеет параметр self, который ссылается на экземпляр объекта MyClass. При вызове метода obj.my_method() функция my_method вызывается, и объект obj передается неявно в качестве первого аргумента.

Этот механизм позволяет методам класса взаимодействовать с атрибутами и методами объекта, к которому они привязаны. Таким образом, методы классов могут изменять состояние объекта или вызывать другие методы объекта, используя параметр self.

Использование дескрипторов и объектов методов в Python обеспечивает удобство и гибкость при работе с объектно-ориентированным программированием. Понимание того, как функции связываются с объектами и вызываются в контексте методов классов, поможет вам писать более чистый и эффективный код.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа с множествами в Python
  2. Срез списка в Python
  3. Рациональные числа в Python
  4. Множественное присваивание в Python
  5. Цикл for с enumerate() в Python
  6. Обход элементов в Python
  7. Переворот списка в Python
  8. Работа с кортежами в Python
  9. Работа с timedelta
  10. Переменная с нижним подчеркиванием
  11. Любовь к Python
  12. Установка и обучение ChatterBot
  13. Модуль subprocess: запуск внешних команд
  14. Таймер обратного отсчета
  15. Создание директории в Python
  16. Тип данных TypeVarTuple
  17. Многопроцессорное программирование в Python
  18. Работа с переменными в Python
  19. Управление виртуальными окружениями в Python
  20. Сортировка с помощью параметра key
  21. Форматирование строк в Python
  22. Функции высшего порядка в Python
  23. Доступ к локальным переменным
  24. Просмотр внешнего файла в Python
  25. Команда %dhist — список посещенных каталогов
  26. Работа с комплексными числами
  27. Описание скриптов в README
  28. Отслеживание прогресса с tqdm
  29. Метод setdefault() в Python
  30. Работа с SQLite в Python
  31. Функции all() и any() в Python
  32. Множественное назначение в Python
  33. Определение относительного пути
  34. Создание GUI с Tkinter: Entry
  35. Управление асинхронными задачами на Python.
  36. Оператор zip в Python
  37. Функция enumerate() — Python
  38. Замыкания в Python
  39. Перегрузка операторов в Python
  40. Метод count() для списков
  41. Работа с исключениями в Python
  42. Хеширование паролей с солью
  43. Проверка подстроки в строке с помощью in

Marketello читают маркетологи из крутых компаний