Курс 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. Преобразование числа в список цифр
  2. Порядок операций в Python
  3. Установка Python — Простое руководство
  4. Метод rmatmul для обратного матричного умножения
  5. Работа с контекстным менеджером Pool
  6. Выражения-генераторы в Python
  7. Метод hash в Python
  8. Работа с enumerate()
  9. Обмен переменными в Jupyter
  10. Удаление дубликатов в pandas
  11. Форматирование строк в Python
  12. Генераторы списков
  13. Работа со строками
  14. Нахождение пересечения множеств
  15. Ускорение выполнения кода в Python
  16. Удаление ресурса в Python
  17. Использование *args
  18. Функция rsplit() в Python
  19. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  20. Определение объема памяти объекта
  21. Синтаксис переменных цикла в Python
  22. Печать списка с помощью метода join
  23. Установка переменной среды в Python
  24. Методы обработки строк в Python
  25. Перезагрузка оператора в Python
  26. Модуль pprint: улучшение вывода данных
  27. inspect в Python: анализ кода
  28. Создание графики с черепахой
  29. Тестирование с unittest
  30. Создание задания в Cron
  31. Перемешивание списка с shuffle()
  32. Проверка дубликатов в Python
  33. Условные выражения в Python
  34. Фильтрация последовательности
  35. Закрытие файла в Python
  36. Преобразование в float
  37. Расширение операции побитового «и» в Python
  38. Генерация UUID в Python
  39. Работа с множествами в Python
  40. Атрибуты класса и экземпляра
  41. Измерение потребления памяти при сортировке
  42. Условное добавление элементов в список
  43. Измерение времени выполнения кода
  44. Чтение и запись TOML-конфигов
  45. Математические функции в Python
  46. Поиск наиболее частого элемента в списке

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