Курс 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. Многострочные строки в Python
  3. Форматирование данных с помощью pprint
  4. Замер времени выполнения кода
  5. Python Calendar Usage
  6. Управление пакетами с pip
  7. Создание новых функций через partial
  8. Сортировка в Python
  9. Создание спинбокса в tkinter
  10. Обработка ошибок в Python
  11. Передача неизвестных аргументов в Python.
  12. Преобразование данных в Python
  13. Фильтрация списка от «ложных» значений
  14. Реализация метода __abs__ в Python
  15. Работа с индексами списков
  16. Monkey Patching в Python
  17. Работа с файлами в Python
  18. Имена объектов в Python
  19. Деление в Python
  20. Функция reduce() в Python
  21. Тест скорости набора текста на Python
  22. Удаление и повторная вставка ключа в OrderedDict
  23. Управление фоновыми задачами в Python
  24. Подсчет элементов в списке с Counter
  25. Оператор += для объединения строк
  26. Python Метод del.
  27. Проверка запуска скрипта или импорта модуля
  28. Декораторы в Python
  29. Подсчет частотности элементов в Python
  30. Получение размера объекта с sys.getsizeof()
  31. Библиотека schedule: планировщик задач
  32. Использование defaultdict в Python
  33. Получение текущей даты в Python
  34. Retrying в Python: повторные вызовы
  35. Проверка типа данных
  36. Изучение объектов с помощью dir()
  37. Взаимодействие с внешними процессами в Python
  38. Установка и использование howdoi
  39. Удаление элементов из списка в Python
  40. Генератор данных в Keras
  41. Переопределение метода __lshift__
  42. Модуль sys: основы
  43. Многопоточность в Python
  44. Импорт и использование модулей в Python
  45. Потоковый ввод в Python
  46. Работа с часовыми поясами в Python.

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