Курс 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. Использование type hints
  2. Протокол управления контекстом
  3. Flask — веб-фреймворк Python
  4. Метод __float__ в Python
  5. Метод __call__ в Python
  6. Генерация случайных данных в NumPy
  7. Вызов внешних программ в Python с помощью sh
  8. Множественные конструкторы в Python
  9. Переворот строки с использованием цикла
  10. Мощь вложенных функций в Python
  11. Справка по импортированным модулям
  12. Работа с Event() в threading
  13. Упрощение работы с JSON-данными в Python
  14. Преобразование текста в нижний регистр
  15. Логирование с Logzero: ротация файла
  16. Уникальные значения из списка
  17. Область видимости переменных
  18. Парсинг статей с Newspaper3k
  19. Замена подстроки
  20. Подсчет элементов с помощью Counter
  21. Сериализация объектов в Python
  22. Создание списков в Python
  23. JSON-esque в Python
  24. Хранение переменных в словаре.
  25. Константы в модуле cmath
  26. Показ всплывающих окон Tkinter
  27. Конструктор в Python
  28. Инверсия списков и строк в Python
  29. Установка и обучение ChatterBot
  30. Итерация по итерируемым объектам
  31. Преобразование списка в словарь через генератор
  32. Тайное преобразование типа ключа
  33. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  34. Обмен данными с asyncio.Queue
  35. Метод join для наборов
  36. Срезы в Python
  37. Моржовый оператор в Python 3.8
  38. Преобразование многоуровневого словаря
  39. Именованные кортежи в Python
  40. discard() — удаление элемента из множества
  41. Изменение элемента списка
  42. Оптимизация строк в Python
  43. Методы сравнения множеств

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