Курс 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. Подсчет элементов с помощью Counter
  2. Библиотека sh: использование команд bash в Python
  3. Комментарии в Python
  4. Получение списка кортежей из словаря
  5. Настройка логгера Logzero
  6. Разделение строки с помощью re.split()
  7. Создание детектора плагиата
  8. Циклы в Python
  9. Фильтрация списка чисел
  10. Основные методы NumPy
  11. Оптимизация памяти с __slots__
  12. Конкатенация строковых литералов
  13. Подсчет элементов в Python
  14. Очистка строки в Python
  15. Расчет времени выполнения программы
  16. Аннотации типов в Python
  17. Получение текущей директории
  18. Оценка точности модели
  19. Создание множества в Python
  20. Вычисление натуральных логарифмов в NumPy
  21. Замена атрибута в именованном кортеже
  22. Использование defaultdict в Python
  23. HTTP-запросы с библиотекой Requests
  24. Работа с IP-адресами в Python
  25. Работа с кортежами в Python
  26. Применение функции к элементам списка
  27. Многострочные строки в Python
  28. Обработка ошибок ввода данных
  29. Повторение элементов списков
  30. Установка виртуального окружения Python
  31. Расширение операции побитового «и» в Python
  32. Пересечение списков с использованием множеств
  33. Создание директории в Python
  34. Оптимизация гиперпараметров в Python
  35. Поиск всех индексов подстроки
  36. Присвоение значений переменным в Python
  37. Форматирование вывода списков
  38. Поиск наиболее частого элемента в списке
  39. Переименование файлов в Python
  40. Цикл for в Python
  41. Удаление элементов из списка в Python
  42. Создание графики с черепахой
  43. Просмотр атрибутов и методов класса

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