Курс 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. Удаление файлов с shutil.os.remove()
  2. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  3. Распаковка аргументов в Python
  4. Python: Splat-оператор и splatty-splat
  5. Потоковый ввод в Python
  6. Метод count() для списка
  7. Нан-рефлексивность в Python
  8. Лямбда-функции в Python
  9. Считывание бинарного файла в Python
  10. Логирование с Logzero
  11. Присвоение и ссылки
  12. Проверка запуска скрипта или импорта модуля
  13. Использование функции enumerate()
  14. Создание новых функций через partial
  15. Генерация тестовых данных с factory_boy
  16. Работа с кортежами в Python
  17. Замена атрибута в именованном кортеже
  18. Проверка существования переменной с оператором :=
  19. Подсчет элементов в Python
  20. Аргумент по умолчанию
  21. Отступы в Python
  22. Использование подчеркивания в REPL
  23. Логические значения в Python
  24. Подписка на Kaspersky Team
  25. Работа с контекстным менеджером Pool
  26. Переопределение метода sub
  27. Глубокое копирование объектов
  28. Перехват исключений в Python
  29. Создание множества в Python
  30. Документация функции help() в Python
  31. Реверс строки и списка в Python.
  32. Методы HTTP запросов в Flask
  33. Объединение словарей в Python
  34. Concrete Paths в Python
  35. Хэш-функции и метод цепочек
  36. Работа с collections.Counter
  37. Удаление дубликатов из списка
  38. Установка и использование Logzero
  39. Транспонирование матрицы в Python
  40. Очистка данных в Python
  41. Создание генераторов
  42. Работа с множествами в Python
  43. Объединение списков в Python
  44. Ошибка NotImplemented в Python
  45. Использование type hints

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