Курс 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. Работа с Colorama
  2. Импорт модулей в Python 3.12
  3. Лямбда-функции для min/max
  4. Отрицательные индексы списков в Python
  5. Парсинг статей с Newspaper3k
  6. Создание класса в Python
  7. Преобразование в float
  8. Очистка строки в Python
  9. Функция __init__ в Python
  10. Поиск уникальных элементов строкой в Python
  11. Классы данных в Python
  12. Counter() — подсчет элементов
  13. Создание графики с черепахой
  14. Python reversed() vs срез[::-1]
  15. Создание спинбокса в tkinter
  16. Извлечение чисел из текста
  17. Введение в PyTorch
  18. Big O оптимизация
  19. Python: изменяемые и неизменяемые коллекции
  20. Использование super() в Python
  21. Создание списка через цикл
  22. Создание генераторов в Python
  23. Генераторные выражения и islice.
  24. Python и Монти Пайтон
  25. Комментарии в Python
  26. None в Python: использование и особенности
  27. Обновление данных через PUT запрос
  28. Python: библиотеки и функции
  29. Оператор walrus в Python
  30. Изменение объектов в Python
  31. Атрибуты класса и экземпляра
  32. Вывод букв строки в Python
  33. Бинарный поиск
  34. Объединение списков в Python.
  35. Сортировка слиянием
  36. Поиск индексов подстроки
  37. Python reversed() функция
  38. Объявление переменных в Python
  39. Отрицательные индексы списков
  40. Модуль os в Python: работа с файлами
  41. Капитализация строк
  42. Виртуальные среды в Python
  43. Печать календаря
  44. Форматирование строк в Python
  45. Взаимодействие с внешними процессами в Python
  46. Фильтрация списка чисел
  47. Непрерывная проверка в Python

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