Курс 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. Структуры данных в Python
  4. Переменные в Python: сокращение гласных
  5. Декораторы с аргументами в Python
  6. Переворот списка в Python
  7. Оператор объединения словарей
  8. Форматирование строк в Python
  9. Переменные в Python
  10. Оформление кода на Python
  11. Создание словаря и множества
  12. Основные операции с Numpy
  13. Преобразование строк в числа в Python
  14. Сравнение def и lambda в Python
  15. Генераторы и сеты в Python
  16. Методы Python для работы с данными
  17. Блок try…finally в Python
  18. Логические значения в Python
  19. Переименование файлов в Python
  20. Избегание циклических зависимостей классов в Python
  21. Генерация QR-кодов с библиотекой qrcode
  22. Инверсия списков и строк в Python
  23. Работа с deque в Python
  24. Распаковка аргументов в Python
  25. Работа с словарями в Python
  26. Обновление шаблона base.html
  27. Списки в Python: синтаксис представления
  28. Введение в PyTorch
  29. Форматирование строк с помощью f-строк
  30. Подписка на SelectelNews в Twitter
  31. Философия Python
  32. Magic Commands — улучшение работы с Python
  33. Генераторы в Python
  34. Enum в Python: создание и использование перечислений
  35. Работа с zip()
  36. Удаление дубликатов из списка
  37. Docstring в Python
  38. Отправка POST запроса на сервер.
  39. Применение функции map() с лямбда-функциями
  40. Работа с getopt
  41. Метод __float__ в Python
  42. Работа с CSV файлами
  43. Функции-генераторы в Python
  44. Модуль xkcd: добавление юмора в Python
  45. Сложные типы данных в Python
  46. Генерация фальшивых данных с Faker
  47. Виртуальные среды в Python
  48. Проверка ввода с помощью isdigit
  49. Python Метод sleep() из time

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