Курс 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. Удаление файлов в Python
  2. Списки в Python: синтаксис представления
  3. Библиотека schedule: планировщик задач
  4. Область видимости переменных
  5. Метод ifloordiv для пользовательских классов
  6. Шаблоны и наследование в Flask
  7. Переопределение метода __rshift__
  8. Оператор деления для класса Rational
  9. Регистрация на хакатоне
  10. Переопределение метода __and__
  11. Функции map() и reduce() в Python
  12. Роль object и type в Python
  13. Python: Фильтрация списков с помощью filter()
  14. Манипуляция формой массива в Numpy
  15. Работа с itertools
  16. Мониторинг памяти с Pympler
  17. Цикл for в Python
  18. Анонимные функции в Python
  19. Основы Python за 14 дней
  20. Переворот последовательности
  21. Модуль subprocess: запуск внешних команд
  22. Defaultdict в Python
  23. Создание словарей в Python
  24. Метод enumerate() в Python
  25. Кортеж в Python: создание и использование
  26. Комментарии в Python
  27. Генерация чисел с range()
  28. Установка и использование pyshorteners
  29. Python OrderedDict и fromkeys() — работа с словарями
  30. Добавление вложенных списков
  31. Управление памятью в numpy.
  32. Создание класса в Python
  33. Применение функции map() с лямбда-функциями
  34. Управление ресурсами в Python
  35. Вывод букв строки в Python
  36. Анализ текста на русском языке с помощью Pymystem3
  37. Работа с аргументами командной строки
  38. Переопределение метода xor в Python
  39. Удаление элемента по индексу
  40. Переопределение метода len
  41. Конкатенация строковых литералов
  42. Метод lt для сортировки объектов
  43. Операции с кортежами
  44. Декоратор проверки активности
  45. Метод __index__ в Python
  46. Лямбда-функции в Python
  47. Оптимизация памяти с помощью __slots__

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