Курс 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. Парсинг статей с Newspaper3k
  4. Аннотации типов в Python
  5. Профилирование данных с Pandas
  6. Возврат нескольких значений
  7. Использование функции enumerate()
  8. Создание веб-приложения с Flask
  9. Установка пакета в Python
  10. Метод join() для объединения элементов строки
  11. Проверка запуска скрипта или импорта модуля
  12. Оператор == в Python
  13. Работа с CSV файлами
  14. Измерение времени выполнения кода
  15. Метод rpow в Python
  16. F-строки в Python
  17. Вывод с переменной через запятую
  18. Обработка исключений в Python
  19. Активация Matplotlib в Jupyter
  20. Преобразование Excel в PDF с Spire.XLS
  21. Повторение элементов списков
  22. Реализация операции -= для пользовательского класса
  23. Функция enumerate() в Python
  24. Lambda-функция в Python: использование с map() и sum()
  25. Генераторные функции в Python
  26. Обратный список чисел
  27. Объединение объектов в Python
  28. Поиск повторов в списке
  29. Методы list в Python
  30. Порядок и длина множеств в Python
  31. Преобразование числа в восьмеричную строку
  32. Метаклассы в Python
  33. Тестирование с responses
  34. Проверка подстроки в строке
  35. Аннотации типов в Python
  36. Многострочные комментарии в Python
  37. Работа с временем в Python
  38. Метод clear для коллекций
  39. Простой калькулятор Python
  40. Метод Event.wait() в Python
  41. globals и locals
  42. Фильтрация списка чисел
  43. Обработка исключений в Python
  44. Метод is_absolute() для PurePath
  45. Управление фоновыми задачами в Python
  46. Экспорт внешнего файла с помощью writefile
  47. Применение функции к списку
  48. Генерация случайных чисел в Python

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