Курс 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. Переопределение метода xor в Python
  2. Запуск внешних программ с subprocess
  3. Оператор is в Python
  4. Хранение данных
  5. Атрибуты массивов в Numpy
  6. Множества и frozenset
  7. Создание панели меню Tkinter
  8. Метод bool() в Python
  9. Визуализация пропусков данных
  10. Измерение времени выполнения кода
  11. Отображение HTML кода в Python
  12. Строковое представление объектов
  13. Использование defaultdict в Python
  14. Мощь вложенных функций в Python
  15. Генератор данных в Keras
  16. Измерение времени выполнения кода
  17. Функции min(), max(), sum()
  18. Аннотации типов в Python
  19. Создание коллекций из генератора
  20. CSV строка разделение в Python
  21. Сравнение строк в Python
  22. Flask: создание веб-приложений
  23. Создание треугольника Паскаля
  24. Работа с контекстными переменными
  25. Работа со слайсами
  26. Присоединение элементов коллекции
  27. Уникальность ключей в словаре
  28. Работа с collections.Counter
  29. Руководство по библиотеке pydantic
  30. Цикл for в Python
  31. Применение функции map() с лямбда-функциями
  32. Извлечение чисел из текста
  33. Форматирование даты с strftime()
  34. Расширение информации об ошибке в Python
  35. Python groupby() из itertools: работа с повторяющимися элементами
  36. Хранение переменных в словаре.
  37. Python: отсутствие точек с запятыми
  38. Сортировка элементов в Python
  39. Поиск самого частого элемента
  40. Переопределение унарных операторов
  41. Сокращение ссылок с pyshorteners

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