Курс 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. Управление контекстом выполнения
  2. Оператор «not» в Python
  3. Модуль Antigravity в Python 3
  4. Область видимости переменных
  5. Итерация по итерируемым объектам
  6. Локальные переменные.
  7. Хеширование паролей с солью
  8. Проверка надежности пароля на Python
  9. Логирование в Python
  10. Работа с модулем Calendar
  11. Нан-рефлексивность в Python
  12. Переменные класса и экземпляра
  13. Создание новых списков
  14. Управление памятью в numpy.
  15. Форматирование строк с помощью f-строк
  16. Выход из профиля в Django
  17. Преобразование списка в словарь через генератор
  18. Множественное наследование в Python
  19. Progress с библиотекой tqdm
  20. Отображение HTML кода в Python
  21. Подсказки типов в Python
  22. Раздувающийся словарь в Python
  23. Работа со строками в Python
  24. Python itertools combinations() — группировка элементов
  25. Создание коллекций из выражения-генератора
  26. Генераторы данных
  27. Официальный канал Python в Telegram
  28. Работа с Colorama
  29. Очистка вывода в Python
  30. Замена атрибута в именованном кортеже
  31. Установка и использование модуля «howdoi»
  32. Моржовый оператор в Python 3.8
  33. Работа с файлами в Python
  34. Метод count() для списков
  35. Создание веб-приложения с Flask
  36. Метод lt для сортировки объектов
  37. Профилирование с Pandas
  38. Преобразование вложенного списка
  39. Печать месячного календаря
  40. Создание и использование ChainMap
  41. Отрицательные индексы списков в Python
  42. Метод join() для объединения элементов строки
  43. Создание задания в Cron
  44. Работа с JSON данными в Python
  45. Эффективная конкатенация строк в Python

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