Курс 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. Генераторы в Python
  2. Методы сравнения множеств
  3. Константы в модуле cmath
  4. Список переменных в Python
  5. Блок else в циклах.
  6. Модуль Antigravity в Python 3
  7. Отладчик pdb: начало работы
  8. Операции с числами в Python
  9. Применение функции к списку
  10. Магические методы в Python
  11. Метод сравнения объектов в Python
  12. Типы возвращаемых значений в Python
  13. Отступы в Python
  14. Перевернуть список в Python
  15. Инверсия списка/строки в Python
  16. Измерение времени выполнения
  17. Преобразование кортежа в словарь.
  18. Эффективная конкатенация строк в Python
  19. Добавление элемента к кортежу
  20. Работа с библиотекой xkcd
  21. Сумма элементов списка
  22. Очистка входных данных
  23. Magic Commands — улучшение работы с Python
  24. Форматирование заголовков в Python
  25. Проверка однородности элементов списка
  26. Поиск анаграмм с Counter
  27. Работа с итераторами в Python
  28. Управление асинхронными задачами с помощью Semaphore
  29. Метод Event.wait() в Python
  30. Многопоточность в Python
  31. Импорт в Python: список all
  32. capitalize() — изменение регистра первого символа строки
  33. Установка библиотек в Python
  34. Объединение списков в Python
  35. Атрибуты класса и экземпляра
  36. Модуль pprint: улучшение вывода данных
  37. Удаление элементов из списка в Python.
  38. Оператор деления для класса Rational
  39. Векторизация в Python с NumPy.
  40. Codecademy в Telegram
  41. Функции в Python: создание и вызов
  42. Отладка утечек памяти в Python
  43. Метод rsub для пользовательских чисел
  44. Создание словарей с defaultdict()

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