Курс 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. Удаление ключей из словаря
  3. Лямбда-функции в Python
  4. Magic Commands — улучшение работы с Python
  5. Перевод эмодзи и эмотиконов.
  6. Распаковка с оператором *
  7. Декораторы классов
  8. Форматирование строк с помощью f-строк
  9. Получение размера объекта с sys.getsizeof()
  10. Структура данных deque в Python
  11. Атрибуты класса и экземпляра в Python
  12. Генерация чисел с range()
  13. Управление фоновыми задачами в Python
  14. SciPy: широкий функционал для математических операций
  15. Декораторы в Python
  16. Python Calendar Usage
  17. Класс-оболочка для словарей
  18. Печать месячного календаря
  19. Удаление URL-адресов в Python
  20. Тестирование с responses
  21. Удаление ресурса в Python
  22. Парсинг веб-страниц с Beautiful Soup
  23. Оператор == в Python
  24. Генерация случайных чисел Python
  25. Избегайте изменяемых аргументов
  26. Проверка версии Python
  27. Итераторы в Python
  28. Функции в Python: создание и вызов
  29. OrderedDict — упорядоченный словарь
  30. Работа с пользовательским вводом
  31. Создание объекта timedelta
  32. Цикл for в Python
  33. Работа с Requests для HTTP-запросов
  34. Python OrderedDict и fromkeys() — работа с словарями
  35. Открытие и запись файлов
  36. Явный импорт переменных
  37. Преобразование Word в PDF с Spire.Doc
  38. Работа с контекстным менеджером Pool
  39. Преобразование генераторов в циклы
  40. Транспонирование 2D-массива с помощью zip
  41. Очистка данных в Python
  42. Генерация случайных чисел в Python
  43. Роль ключевого слова self
  44. Работа с каталогами в Python
  45. Объединение словарей в Python

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