Курс 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. Генераторы словарей и множеств
  3. Работа со строками в Python
  4. Избегайте изменяемых аргументов
  5. Получение срезов итераторов
  6. Вывод букв строки в Python
  7. Удаление элементов из списка в Python.
  8. Многострочные комментарии в Python
  9. Глобальные переменные в Python
  10. Обмен данными с asyncio.Queue
  11. Копирование словарей и списков в Python
  12. Поиск элементов BeautifulSoup
  13. Настройка шрифта и цвета в Tkinter
  14. Работа с контекстным менеджером Pool
  15. Управление браузером с Selenium
  16. Работа с кортежами
  17. Склеивание строк через метод join()
  18. Чтение бинарного файла в Python.
  19. Изменение переменной в Python: nonlocal
  20. Оператор «not» в Python
  21. Оператор * в Python
  22. Поиск всех индексов подстроки
  23. Именование столбцов в Python с pandas
  24. Замена текста с помощью sub
  25. Чтение и запись TOML-конфигов
  26. Метод rxor для операции побитового исключающего «или»
  27. Numpy: использование Ellipsis
  28. Цикл for в Python
  29. Хеши в Python
  30. Оптимизация сравнения в Python
  31. Модуль inspect
  32. Логирование в Python
  33. Удаление дубликатов из списка
  34. Инверсия списка и строки в Python
  35. Транспонирование 2D-массива с помощью zip
  36. Импорт и использование модулей в Python
  37. Подсказки типов в Python
  38. Работа с NumPy
  39. Именованные аргументы в Python
  40. Оператор объединения словарей
  41. Анонимные функции Lambda
  42. Основные методы NumPy
  43. Ключевое слово global в Python

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