Курс 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. Импорт объектов из модулей
  4. Методы shutil для работы с файлами
  5. Работа с комплексными числами
  6. Оператор is в Python
  7. Удаление URL-адресов в Python
  8. Объединение списков в Python.
  9. Оператор in для проверки наличия элемента
  10. Скачать видео с YouTube
  11. Итерация по коллекции в Python
  12. Поиск email
  13. globals и locals
  14. Получение частей дроби
  15. Нахождение отличий в списках
  16. Добавление элементов в список: append() vs extend()
  17. EMOT преобразование эмодзи в текст
  18. Управление мышью и клавиатурой с Pyautogui
  19. Псевдонимы в Python
  20. Тест скорости набора текста на Python
  21. Логирование в Python
  22. Форматирование строк в Python
  23. Применение функции к списку
  24. Названия переменных
  25. Генераторы списков
  26. Декоратор проверки активности
  27. Декораторы в Python
  28. Оптимизация создания строк
  29. Декоратор @override
  30. Функция zip() для объединения списков
  31. Проверка переменных окружения в Python
  32. Создание OrderedDict
  33. Операторы += в Python
  34. Основы работы с os
  35. TON Smart Challenge #2: участие и подготовка
  36. Генераторы данных
  37. Импорт модулей в Python 3.12
  38. Комментарии в Python
  39. Переворот строки с использованием цикла
  40. Управление сессиями в Python
  41. Измерение времени выполнения с помощью time
  42. Оператор объединения словарей
  43. Исправление ошибки NameError
  44. Работа с словарями в Python
  45. Атрибуты класса и экземпляра в Python
  46. Использование двоеточия в Python
  47. Преобразование в float

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