Курс 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. Фильтрация списков с itertools
  2. Работа с Path в Python
  3. Разделение строки с помощью re.split()
  4. Сортировка и разворот списка
  5. Отладка производительности Python
  6. Работа с контекстными переменными
  7. Counter() — подсчет элементов
  8. Python itertools combinations() — группировка элементов
  9. Профилирование кода на Python
  10. Сравнение строк в Python
  11. Проверка типов с помощью isinstance
  12. Модуль antigravity: генерация координат
  13. Представление бесконечности в Python
  14. Область видимости переменных
  15. Работа с YAML в Python
  16. Принципы LSP и ISP в Python
  17. Список переменных в Python
  18. Перехват исключений в Python
  19. Метод setdefault() в Python
  20. Счетчик ссылок в Python
  21. Работа с изображениями Pillow
  22. Копирование объектов в Python
  23. Декораторы в Python
  24. Работа с timedelta
  25. Сортировка с помощью параметра key
  26. Новшества Flask 2.0
  27. Извлечение новостей с newspaper3k
  28. Идентификатор объекта в Python
  29. Python Enumerate
  30. Оператор walrus в Python
  31. Оптимизация памяти с __slots__
  32. Транспонирование 2D-массива с помощью zip
  33. Создание матрицы в Python
  34. Создание Telegram-бота на Python
  35. Вставка переменных в шаблоны Flask
  36. Метод append() для списка
  37. Переворот списка в Python
  38. Использование двоеточия в Python
  39. Ввод нескольких значений
  40. Транспонирование 2D-массива с помощью zip
  41. Стать Python-разработчиком
  42. Форматирование строк в Python
  43. Обмен значений переменных в Python
  44. Работа с deque из collections
  45. Многострочные комментарии в Python
  46. Преобразование вложенного списка
  47. Получение частей дроби
  48. Профилирование с Pandas
  49. Многострочные строки в Python

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