Курс 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. Ключевое слово global в Python
  2. Разделение строк в Python
  3. Создание директории в Python
  4. Объединение словарей в Python
  5. Создание веб-приложения с Flask
  6. Работа с Enum в Python3.
  7. Создание новых списков
  8. Оформление кода по PEP 8
  9. Деление в Python
  10. Создание виртуальной среды
  11. Управление контекстом выполнения
  12. Создание OrderedDict
  13. Декораторы в Python
  14. Удаление символов новой строки в Python.
  15. Функции в одну строку
  16. Список и кортеж в Python
  17. Функциональное программирование в Python
  18. Отделение звука от видео
  19. Именованные аргументы в Python
  20. Необязательные аргументы в Python
  21. Работа с модулем glob в Python
  22. Очистка данных в Python
  23. Преобразование кортежа в словарь.
  24. Логирование с Logzero
  25. Названия столбцов в Python таблицах
  26. Расширение операции побитового «и» в Python
  27. Python itertools combinations() — группировка элементов
  28. JSON-esque в Python
  29. Генератор чисел Фибоначчи
  30. Создание циклической ссылки
  31. Отладка утечек памяти в Python
  32. Дизассемблирование Python кода
  33. Взаимодействие с sys
  34. Регулярные выражения: метод match
  35. Бинарный поиск
  36. Функция sleep() в Python
  37. Переопределение метода __or__()
  38. Асинхронное программирование с asyncio
  39. Метод __index__ в Python
  40. Удаление элемента из списка в Python
  41. Объединение коллекций в Python
  42. Создание GUI с Tkinter: Entry
  43. Циклы for в Python
  44. Изменяемые и неизменяемые объекты
  45. Округление в Python
  46. Python: отсутствие точек с запятыми

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