Курс 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. Импортирование в Python
  2. split() — разделение строки
  3. Нахождение хеша для бесконечности и NaN в Python
  4. Работа со словарями Python
  5. Удаление дубликатов из списка
  6. Применение промокода в Много лосося
  7. Применение команды break
  8. Объединение множеств в Python
  9. Значения по умолчанию в Python
  10. Создание треугольника Паскаля
  11. Работа со строками в Python.
  12. Нарезка списков в Python
  13. Основы Python
  14. Автоматизация с Python
  15. Операции с кортежами
  16. Частичное применение функций в Python
  17. Добавление элемента к кортежу
  18. Декораторы в Python
  19. Метод setdefault() в Python
  20. Работа с атрибутом dict
  21. Поиск индексов подстроки
  22. Работа с collections в Python
  23. Имена объектов в Python
  24. Функция all() в Python
  25. Решатель судоку на Python с pygame
  26. Работа с базами данных SQLite
  27. Измерение потребления памяти при сортировке
  28. Списковое включение в Python
  29. Печать комбинаций в Python с Itertools
  30. Генераторы списков
  31. Метод title() в Python
  32. Поиск всех индексов подстроки
  33. Управление браузером с Selenium
  34. Очистка строки в Python
  35. Генераторы и сеты в Python
  36. Python: возвращение нескольких значений
  37. Замена переменных в Python
  38. Создание пустых функций и классов в Python
  39. Работа с f-строками 2.0
  40. Отрицательные индексы списков
  41. Получение срезов итераторов
  42. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  43. Работа с модулем Calendar
  44. Проверка условий в Python
  45. Работа с timedelta

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