Курс 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. Оператор «and» в Python
  2. Функция reduce() из модуля functools
  3. TypedDict для kwargs в Python 3.12
  4. Объединение списков в строку
  5. Безопасный доступ к значениям словаря
  6. Генерация QR-кодов с Python
  7. Удаление пробелов методом translate()
  8. Функции с необязательными аргументами
  9. Установка и использование Telegram API в Python
  10. Метод rlshift для битового сдвига
  11. Склеивание строк через метод join()
  12. Операции с датами в Python
  13. Сортировка и обратный порядок
  14. Dict Comprehension в Python
  15. Измерение времени выполнения с помощью time
  16. Копирование в Python
  17. Каналы Senior: Python, Java, Frontend, SQL, C++
  18. Модуль Operator в Python
  19. Запуск Python из интерпретатора
  20. Бинарный поиск
  21. Бесконечная проверка в Python
  22. Работа с файлами в Python
  23. Обработка ошибок в Python
  24. Склеивание строк без циклов
  25. Функции в Python: создание и вызов
  26. Переопределение унарных операторов
  27. Concrete Paths — метод .with_suffix()
  28. Поиск простых чисел
  29. Измерение времени выполнения кода
  30. Инверсия списка и строки в Python
  31. Генераторы в Python
  32. Оператор break в Python
  33. Метод __irshift__ для Python
  34. Преобразование в float
  35. Форматирование строк в Python
  36. Принципы Zen Python
  37. Ошибка NotImplemented в Python
  38. Поиск наиболее частого элемента списке
  39. Встраивание HTML в Jupyter Notebook
  40. Кортежи в Python: особенности и преимущества
  41. Поиск всех индексов подстроки
  42. Проверка типа данных
  43. Сортировка и разворот списка
  44. Установка Python3.7 и PIP

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