Курс 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. Оператор «or» в Python
  2. Progress с библиотекой tqdm
  3. Оператор «not» в Python
  4. Поиск наиболее частого элемента
  5. Очистка входных данных
  6. Защита данных в Python
  7. Фильтрация элементов с помощью islice
  8. Функция zip() в Python
  9. Перехват исключений в Python
  10. Работа с комплексными числами
  11. Python Метод sleep() времени
  12. Форматирование строк в Python
  13. Создание вкладок с TKinter
  14. Различия символов в Python
  15. Использование эмодзи в Python
  16. Сравнение строк в Python
  17. Создание OrderedDict
  18. Переворот списка в Python
  19. Метод gt в Python
  20. Создание namedtuple из словаря
  21. Метод clear для коллекций
  22. Удаление специальных символов с помощью re.sub
  23. Работа с Event() в threading
  24. Декораторы в Python
  25. Поиск самого длинного слова в списке с использованием max()
  26. Измерение времени выполнения кода
  27. Создание графики с черепахой
  28. Измерение времени выполнения кода
  29. Обработка исключений в Python
  30. Установка Python — Простое руководство
  31. Присоединение элементов коллекции
  32. Особенности множеств в Python
  33. Генерация случайных чисел Python
  34. Проверка вхождения подстроки
  35. Метод __iand__ для пользовательских классов
  36. Моржовый оператор в Python 3.8
  37. Списковое включение в Python
  38. Функции all() и any() в Python
  39. Использование type hints
  40. Сравнение def и lambda-функций
  41. Просмотр внешних файлов в %pycat
  42. Сортировка HTML-элементов
  43. Деление в Python

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