Курс 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. Метод __ixor__ для побитового исключающего ИЛИ
  3. Генераторы по генератору
  4. Функция eval() в Python
  5. Проверка дублей в списке.
  6. Метод join() для объединения элементов в строку.
  7. Работа с CSV файлами в Python
  8. Установка пакетов с помощью pip
  9. Счетчик в Python: most_common()
  10. Декораторы в Python
  11. Декораторы для регистрации функций
  12. Работа со словарями Python
  13. Группировка элементов Python
  14. Проверка кортежей.
  15. Генератор чисел Фибоначчи
  16. Освобождение памяти в Python
  17. Модуль os: работа с файлами и папками
  18. TypedDict для kwargs в Python 3.12
  19. Создание виртуальной среды
  20. Управление сессиями в Python
  21. Хранение переменных в Python.
  22. Деление в Python
  23. Объединение списков в Python
  24. Очистка данных в Python
  25. Использование модуля __future__
  26. Определение размера папок в Python
  27. Функции классификации комплексных чисел
  28. Работа с пакетами
  29. Асинхронный код в Python
  30. Профилирование с cProfile
  31. Работа с процессами в Python
  32. Управление браузером с Selenium
  33. Создание копии списка в Python
  34. Функция с *args.
  35. Применение функции к каждому элементу списка
  36. Пропуск начальных строк с помощью dropwhile()
  37. Объединение списков с помощью zip
  38. Хэш-функции и метод цепочек
  39. Безопасные SQL-запросы в Python 3.11
  40. Печать месячного календаря
  41. Равенство и идентичность в Python
  42. Работа с YAML в Python: PyYAML.
  43. Определение функций с необязательными аргументами
  44. Операторы объединения в Python 3.9
  45. Разделение строки с помощью re.split()
  46. Создание словарей в Python

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