Курс 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. Flask — веб-фреймворк Python
  3. Перегрузка операторов в Python
  4. Методы в Python
  5. Транспонирование 2D-массива с помощью zip
  6. Генераторы списков
  7. Создание матрицы в Python
  8. Разделение строк в Python
  9. Улучшение читаемости кода в Python
  10. Чтение бинарного файла в Python.
  11. Извлечение аудио из видео
  12. Обработка исключения UnboundLocalError
  13. Создание словарей и множеств в Python
  14. Concrete Paths — метод .with_suffix()
  15. Аргумент по умолчанию
  16. Списки в Python: основы
  17. Управление пакетами с pip
  18. Генерация случайных данных в NumPy
  19. Переопределение метода delitem в Python
  20. Синхронизация доступа к ресурсам
  21. Создание панели меню Tkinter
  22. Flask: создание веб-приложений
  23. Работа с кортежами в Python
  24. Форматирование вывода с F-строками
  25. Вложенные циклы в Python
  26. Печать календаря в Python
  27. Импорт классов из другого файла
  28. Введение в Python
  29. Удаление специальных символов с помощью re.sub
  30. Проектирование Singleton с метаклассом
  31. Оператор «not» в Python
  32. Проверка ввода с помощью isdigit
  33. Метод rlshift для битового сдвига
  34. Переопределение метода
  35. Работа со стеком в Python
  36. Создание обратного итератора
  37. Использование функции enumerate()
  38. Зарезервированные слова в Python
  39. Управление контекстом выполнения кода
  40. Импорт модулей в Python 3.12
  41. Lambda Functions in Python
  42. JMESPath в Python
  43. Умножение строк и списков
  44. Python reversed() vs срез[::-1]
  45. Распаковка элементов последовательности
  46. Установка и загрузка Instaloader

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