Курс Python → Атрибуты класса и экземпляра

В Python атрибуты класса и атрибуты экземпляра играют важную роль в объектно-ориентированном программировании. Атрибуты класса — это переменные, которые определены внутри класса, но вне методов. Они доступны для всех экземпляров этого класса и используются для хранения общей информации, которая должна быть общей для всех объектов данного класса. Например, в классе «Сотрудник» атрибут класса может быть «количество сотрудников», который будет увеличиваться при создании нового экземпляра.

Атрибуты экземпляра — это переменные, которые определены внутри методов класса и доступны только для конкретного экземпляра класса. Они используются для хранения уникальной информации об объекте. Например, в классе «Сотрудник» атрибут экземпляра может быть «имя» или «зарплата» конкретного сотрудника.

Python обрабатывает переменные класса и переменные экземпляра как словари объекта класса. Если имя переменной не найдено в словаре текущего класса, то выполняется поиск по нему в родительских классах. Это позволяет наследовать атрибуты и методы от родительских классов, что делает код более модульным и удобным для использования.


class Employee:
    num_employees = 0  # атрибут класса

    def __init__(self, name, salary):
        self.name = name  # атрибут экземпляра
        self.salary = salary
        Employee.num_employees += 1

В приведенном примере у класса «Employee» есть атрибут класса «num_employees», который хранит количество созданных сотрудников. При создании нового экземпляра увеличивается это значение. Также у каждого экземпляра есть атрибуты «name» и «salary», которые хранят имя и зарплату конкретного сотрудника.

Используя атрибуты класса и атрибуты экземпляра, можно эффективно организовать данные и логику в программе, делая ее более понятной и удобной для разработки и поддержки.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Переопределение метода sub
  2. Блок else в обработке исключений
  3. Оператор match в Python
  4. Проверка типа объекта в Python
  5. Оператор in для проверки наличия элемента
  6. Ключевое слово global в Python
  7. Профилирование с cProfile
  8. Блок else в циклах.
  9. Функции range() в Python
  10. Функция product() из itertools
  11. Метод __getitem__ в Python
  12. Создание функций высшего порядка
  13. Моржовый оператор в Python 3.8
  14. Новшества Flask 2.0
  15. Defaultdict в Python
  16. Удаление ключей из словаря
  17. 9 уловок для чистого кода
  18. Методы split() и join() — Python строк.
  19. Многоточие в Python
  20. Печать календаря
  21. Разность множеств
  22. TON Smart Challenge #2: участие и подготовка
  23. Работа со списками
  24. PATCH-запрос с библиотекой requests
  25. Глобальные переменные в Python
  26. Форматирование строк в Python
  27. Метод ne для сравнения объектов
  28. Настройка вывода NumPy
  29. Создание словарей с defaultdict()
  30. Работа с YAML в Python: PyYAML.
  31. Атрибуты класса и экземпляра в Python
  32. Функция enumerate() в Python
  33. Вакансии в Nebius
  34. Работа с срезами в Numpy
  35. Работа с Telegram API на Python
  36. Подсчет элементов в Python
  37. Срезы в Numpy
  38. Капитализация строк
  39. Удаление специальных символов
  40. Обработка ошибок в Python
  41. Методы работы со строками в Python
  42. Руководство по библиотеке pydantic
  43. Оператор walrus в Python
  44. Модуль Operator в Python
  45. Логирование в Python
  46. Проверка строки на палиндром
  47. Измерение времени выполнения в Python

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