Курс Python → Атрибуты класса и экземпляра

Атрибуты класса в Python — это переменные, которые относятся ко всем экземплярам данного класса. Они определяются внутри класса, но вне любых методов, используя синтаксис self.atribute_name. Эти атрибуты доступны для всех экземпляров данного класса и могут быть изменены через любой из них.

Атрибуты экземпляра, с другой стороны, относятся только к конкретному экземпляру класса. Они создаются внутри методов класса и могут быть доступны только через данный экземпляр. Для создания атрибута экземпляра используется синтаксис self.atribute_name, но уже внутри метода класса.

При обращении к атрибуту класса, если он не найден в словаре текущего класса, Python будет автоматически искать его в родительских классах. Это позволяет наследовать атрибуты класса и использовать их в дочерних классах без необходимости их повторного определения.


class MyClass:
    class_attribute = 10
    
    def __init__(self, instance_attribute):
        self.instance_attribute = instance_attribute

obj1 = MyClass(5)
obj2 = MyClass(8)

print(obj1.class_attribute)  # Вывод: 10
print(obj2.class_attribute)  # Вывод: 10

print(obj1.instance_attribute)  # Вывод: 5
print(obj2.instance_attribute)  # Вывод: 8

В данном примере, class_attribute является атрибутом класса, общим для всех экземпляров класса, а instance_attribute — атрибутом экземпляра, уникальным для каждого экземпляра. При обращении к атрибутам класса и экземпляра, Python автоматически учитывает наследование и поиск в родительских классах.

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

Автор урока

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

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

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

  1. Логирование с Logzero
  2. Форматирование чисел в Python
  3. Преобразование данных в Python
  4. Извлечение статей с newspaper3k
  5. Работа с индексами списков
  6. Списковое включение в Python
  7. Структура данных словарь в Python
  8. Метод add для класса Vector
  9. Добавление элементов в список
  10. Обновление шаблона base.html
  11. Генерация QR-кодов с Python
  12. Декоратор total_ordering для сравнения объектов
  13. Документация функции help() в Python
  14. Создание вкладок с TKinter
  15. 9 уловок для чистого кода
  16. Форматирование заголовков в Python
  17. Инверсия списка/строки в Python
  18. Расчет времени выполнения
  19. Чтение бинарного файла в Python.
  20. Поиск уникальных элементов строкой в Python
  21. Инверсия списка и строки в Python
  22. Сортировка слиянием
  23. Тип CodeType в Python.
  24. Печать в одной строке
  25. Вставка переменных в шаблоны Flask
  26. Таймер обратного отсчета
  27. Преобразование в float
  28. Операции с матрицами в Python
  29. Удаление ресурса в Python
  30. Метод Self в Python
  31. Определение имен функций
  32. Вывод сложных структур данных с помощью pprint
  33. Замеры производительности в Python
  34. GitHub в Telegram: подписка на уведомления
  35. Цикл for в Python
  36. Переопределение метода __eq__
  37. Модуль math: константы π и e
  38. Разделение строки на подстроки в Python
  39. Метод get() в Python
  40. Декораторы классов
  41. Форматирование строк в Python
  42. Функция zip() в Python
  43. Метод split() для разделения строк
  44. Поиск индекса элемента
  45. Python: цикл for и оператор присваивания
  46. Логирование в Python

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