Курс 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. Тестирование с unittest
  2. Проблема сравнения словарей
  3. Преобразование числа в список цифр
  4. Метод count() для списков
  5. Сравнение строк в Python
  6. Настройка логгера Logzero
  7. Шаблоны Flask: условия и циклы
  8. Тестирование времени с Freezegun
  9. Замеры производительности в Python
  10. Работа с argparse
  11. Python Метод sleep() из time
  12. Функция enumerate в Python
  13. Переопределение метода
  14. Установка и обучение ChatterBot
  15. Настройка шрифта и цвета в Tkinter
  16. Модуль math: константы π и e
  17. Оператор «not» в Python
  18. Избегайте использования goto
  19. Работа с необработанными строками
  20. Транспонирование 2D-массива с помощью zip
  21. Удаление файлов и папок в Python
  22. Библиотека Rich: форматирование текста
  23. Мониторинг памяти с Pympler
  24. Конструктор в Python
  25. Просмотр атрибутов и методов класса
  26. Модуль itertools: эффективная работа с итераторами
  27. Работа с датой и временем в Python
  28. Декораторы для регистрации функций
  29. Оператор Walrus в Python
  30. Проверка типа объекта в Python
  31. Присоединение элементов коллекции
  32. Работа с модулем Calendar
  33. Импорт модулей и пакетов в Python
  34. split() — разделение строки
  35. Структуры данных в Python
  36. Основы работы со списками
  37. Глобальные переменные в Python
  38. Метаклассы в Python
  39. Очистка списка от False, None, 0, «»
  40. Список переменных в Python
  41. Структурирование именованных констант
  42. Импорт модулей в Python 3.12
  43. Просмотр атрибутов и методов класса
  44. Форматирование даты с strftime()
  45. Повторение и перенос строки
  46. Python: Splat-оператор и splatty-splat
  47. Управление IP-адресами через прокси

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