Курс 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. Flask: создание веб-приложений
  2. Использование super() в Python
  3. Преобразование числа в список цифр
  4. Обработка ошибок в Python
  5. Удаление ключа из словаря
  6. Установка и использование TensorFlow
  7. Установка виртуального окружения Python
  8. Импорт модулей в Python 3.12
  9. Обновление множества в Python
  10. Отношения подклассов в Python
  11. Принципы Zen of Python
  12. Показ всплывающих окон Tkinter
  13. Генераторы в Python
  14. Удаление дубликатов из списка с помощью dict.fromkeys
  15. Операторы объединения в Python 3.9
  16. Вывод букв строки в Python
  17. Конвертация коллекций в Python
  18. Работа с модулем Calendar
  19. Отладчик pdb: начало работы
  20. Поиск простых чисел
  21. Подсказки типов в Python
  22. Избегание циклических зависимостей классов в Python
  23. Оператор is в Python
  24. Метод join() для объединения элементов строки
  25. f-строки в формате строк
  26. Оценка выражений генератора в Python
  27. Моржовый оператор в Python 3.8
  28. Компиляция регулярных выражений
  29. Исправление ошибки NameError
  30. Срезы в Python
  31. Работа с collections в Python.
  32. Счетчик ссылок в Python
  33. Операторы Splat и splatty-splat
  34. Работа со строками в Python
  35. Работа с zip()
  36. Работа с IP-адресами в Python
  37. Тестирование с unittest
  38. Создание уникального множества
  39. Работа с изменяемыми списками
  40. Модуль Operator в Python
  41. Создание задания в Cron
  42. Работа с рекламными данными в Pandas
  43. Участие в сообществе @selectel
  44. Нахождение пересечения множеств

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