Курс 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. Удаление дубликатов из списка с помощью dict.fromkeys
  2. Эффективная конкатенация строк в Python
  3. Разделение строк в Python
  4. Работа с рекламными данными в Pandas
  5. Подсчет часто встречающихся элементов
  6. Структуры данных в Python
  7. Циклы for в Python
  8. Работа с кортежами в Python
  9. Счетчик ссылок в Python
  10. Enum в Python
  11. Создание графиков в терминале
  12. Группы исключений в Python
  13. Курс Data Scientist в медицине
  14. Цикл for в Python
  15. Бесконечная проверка в Python
  16. Оптимизация строк в Python
  17. Список переменных с %who
  18. Функция enumerate() в Python
  19. Рекурсия для обращения строки
  20. Роль ключевого слова self
  21. Генерация случайных чисел в Python
  22. Установка User-Agent в Python
  23. Отладка утечек памяти в Python
  24. Генерация UUID в Python
  25. Декоратор @override
  26. Функции в одну строку
  27. Установка пакетов с помощью pip
  28. Функции высшего порядка в Python
  29. Обмен значений переменных в Python
  30. Удаление элементов из списка в Python
  31. Преобразование многоуровневого словаря
  32. Отрицательные индексы списков в Python
  33. Удаление и повторная вставка ключа в OrderedDict
  34. Оператор распаковки в Python
  35. Метод __iand__ для пользовательских классов
  36. Ошибка NotImplemented в Python
  37. Изменение IP-адреса в Python
  38. Работа с collections в Python
  39. Работа с YAML в Python
  40. Список переменных в Python
  41. Упрощенный вывод данных в Python
  42. Модуль inspect

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