Курс 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. Установка и загрузка Instaloader
  3. Анонимные функции в Python
  4. Перевернуть список в Python
  5. Создание инструмента обнаружения плагиата
  6. Эффективная конкатенация строк с использованием join()
  7. Метаклассы в Python
  8. Генерация ключей RSA
  9. capitalize() — изменение регистра первого символа строки
  10. Операции с комплексными числами
  11. Векторизация в Python с NumPy.
  12. Метод remove() для удаления элемента из списка
  13. Numpy: разбиение массивов
  14. Получение пути к текущему скрипту с помощью os
  15. Python enumerate() для работы с индексами
  16. Лямбда-функции в Python
  17. Экспорт внешнего файла с помощью writefile
  18. Ускорение обработки данных с %autoawait
  19. Работа с NumPy
  20. Переопределение метода sub
  21. Склеивание строк через метод join()
  22. Создание лямбда-функций
  23. Работа с географическими данными.
  24. Принципы программирования
  25. Установка и использование emoji
  26. Счетчик ссылок в Python
  27. Навыки Python: строки, типы данных
  28. Проверка файла .py на синтаксис.
  29. Работа с множествами в Python
  30. Оператор умножения для вектора
  31. Сортировка с помощью key
  32. Форматирование объектов с модулем pprint
  33. Нан-рефлексивность в Python
  34. Разбиение текста в Python
  35. Оператор обр. импликации
  36. Генераторы в Python
  37. Атрибуты класса и экземпляра в Python
  38. Методы __repr__ и __str__ в Python
  39. Генераторы данных
  40. Импортирование в Python
  41. Создание словаря через dict comprehension
  42. Создание словаря в Python
  43. Управление асинхронными задачами с помощью Semaphore
  44. Модуль Operator в Python

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