Курс 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. Удаление и повторная вставка ключа в OrderedDict
  2. Создание словарей с defaultdict()
  3. Иерархия классов в Python
  4. Преобразование range в итератор
  5. Метод count() для списков
  6. Создание словарей в Python
  7. Метод сравнения объектов в Python
  8. Управление виртуальными средами в Python
  9. Функция enumerate() — Python
  10. Управление ресурсами в Python
  11. Область видимости переменных в Python
  12. Вычисление натуральных логарифмов в NumPy
  13. Работа с zip()
  14. Оператор walrus в Python
  15. Порядок операций в Python
  16. Распаковка элементов массива
  17. Генератор списка в Python
  18. Поиск индекса элемента в списке
  19. Добавление элемента к кортежу
  20. Работа с файлами в Python
  21. Введение в Python
  22. Метод rlshift для битового сдвига
  23. Транспонирование 2D-массива с помощью zip
  24. IPython и Jupyter Notebook: руководство
  25. История Python
  26. Python: изменяемые и неизменяемые коллекции
  27. Хранение данных
  28. Преобразование списка в словарь через генератор
  29. Проверка дубликатов в Python
  30. Работа с контекст-менеджером «with»
  31. Генераторные функции в Python
  32. Удаление пробелов методом translate()
  33. Выход из профиля в Django
  34. Работа со словарями Python
  35. Копирование в Python
  36. Принципы Zen of Python
  37. Сериализация и десериализация объектов
  38. Тест скорости набора текста на Python
  39. Оформление кода по PEP 8
  40. Оператор in и not in в Python
  41. Измерение времени выполнения кода с помощью time
  42. Настройка вывода NumPy
  43. Класс UserDict: дополнительная функциональность
  44. Использование модуля __future__
  45. Отношения подклассов в Python

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