Курс 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. Метод matmul для умножения матриц
  2. Порядок операций в Python
  3. Замена текста в Python
  4. Руководство по библиотеке pydantic
  5. Открытие, чтение и закрытие файла
  6. Математические функции в Python
  7. Сравнение def и lambda функций в Python
  8. Абстракции словарей и множеств в Python
  9. Работа с deque из collections
  10. Установка и использование модуля Wikipedia
  11. Аннотации типов в Python
  12. Работа с множествами в Python
  13. Управление контекстом выполнения кода
  14. Объединение словарей в Python
  15. Создание новых функций через partial
  16. Генераторы в Python
  17. Многоточие в Python
  18. None в Python: использование и особенности
  19. Модуль array: создание и использование массивов
  20. Создание и инициализация объектов
  21. Генераторы в Python
  22. Работа с переменными в Python
  23. Встроенные функции Python
  24. Замыкания в Python
  25. Создание и использование ChainMap
  26. Отладка кода
  27. Метод __int__ в Python
  28. Работа с файлами в Python
  29. Метод setdefault() в Python
  30. Сравнение объектов в Python
  31. Операции с числами в Python
  32. Преобразование кортежа в словарь.
  33. Метод __complex__ в Python
  34. Разбиение строки в Python
  35. Оператор is в Python
  36. Непрерывная проверка в Python
  37. Метод __float__ в Python
  38. Делегирование в Python
  39. Создание новых функций с помощью functools.partial
  40. Создание лямбда-функций
  41. Оптимизация памяти в Python
  42. Проверка дублей в списке.
  43. Создание комплексных чисел

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