Курс 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. Работа с YAML в Python
  2. Срезы в Python
  3. Срезы в Numpy
  4. Структурирование именованных констант
  5. Профилирование с Pandas
  6. Python Метод sleep() времени
  7. Установка и обучение ChatterBot
  8. Метод append() для списка
  9. Преобразование Excel в PDF с Spire.XLS
  10. Работа с прокси в Python
  11. Исключение NotImplementedError
  12. Импорт модулей в Python 3.12
  13. Поиск наиболее частого элемента в списке
  14. Избегайте изменяемых аргументов
  15. Генераторы списков в Python
  16. Получение текущей директории
  17. Операции с числами в Python
  18. Метод join() для объединения элементов строки
  19. Метод setdefault() в Python
  20. Генераторы по генератору
  21. Генерация ключей RSA
  22. Управление фоновыми задачами в Python
  23. Проверка подстроки в строке
  24. Декоратор Ajax required
  25. Создание вкладок с TKinter
  26. Работа с комплексными числами
  27. Цикл for в Python
  28. Импорт модулей в Python 3.12
  29. Работа с индексами списков
  30. Codecademy в Telegram
  31. Каналы Senior: Python, Java, Frontend, SQL, C++
  32. Получение текущей даты и времени
  33. Удаление символа из строки
  34. Удаление ключа из словаря
  35. Сравнение строк в Python
  36. Форматирование строк в Python
  37. Метод ipow для возведения в степень
  38. Библиотека sh: использование команд bash в Python
  39. Подписка на @SelectelNews
  40. Управление сессиями в Python
  41. Оператор «моржа» (Walrus Operator)
  42. Глобальные переменные в Python
  43. Создание функций высшего порядка
  44. Импорт объектов из модулей
  45. Атрибуты объекта в Python
  46. Объединение списков с использованием itertools.chain

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