Курс 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. Работа с пользовательским вводом
  2. Метод lt для сортировки объектов
  3. Работа со списками
  4. Удаление первого элемента списка
  5. Замена элементов в списке с помощью генераторов списков
  6. Генерация фальшивых данных с Faker
  7. Метод join() для объединения элементов строки
  8. Оператор in для проверки наличия элемента
  9. Метод pos в Python
  10. Библиотека funcy: удобные утилиты
  11. Команда %dhist — список посещенных каталогов
  12. Использование модуля __future__
  13. Функции-генераторы в Python
  14. Атрибуты класса и экземпляра
  15. Обработка исключений в Python 3
  16. Делегирование в Python
  17. Проверка версии Python
  18. Роль запятой в Python
  19. Объединение словарей в Python
  20. Работа с Event() в threading
  21. Резервирование символов в Python
  22. Объединение списков в Python
  23. Counter() — подсчет элементов
  24. Проверка однородности элементов списка
  25. Заказ карты Тинькофф Black
  26. Работа с пакетами
  27. Декоратор для группы пользователей в Django
  28. Генераторы списков в Python
  29. Метод count() для списков
  30. Комментарии в Python
  31. Работа с изменяемыми списками
  32. Именованные срезы в Python
  33. Работа со строками в Python
  34. Списковый компрехеншен.
  35. Абстракции словарей и множеств в Python
  36. Работа с файлами в Python
  37. Метод __ixor__ для побитового исключающего ИЛИ
  38. Функция zip() — объединение последовательностей
  39. Функция zip() в Python
  40. Искажение имен в Python
  41. Создание функций с произвольным количеством аргументов
  42. Профилирование данных с Pandas.
  43. Структурирование именованных констант
  44. Настройка вывода NumPy
  45. Преобразование числа в список цифр
  46. Пустой оператор pass в Python

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