Курс 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. Метод join для объединения строк
  2. %pinfo: получение информации об объекте
  3. Форматирование вывода с F-строками
  4. Работа со слайсами
  5. Анонимные функции Lambda
  6. Очистка данных с Pandas
  7. Работа с модулем os в Python
  8. Декораторы в Python
  9. Декоратор Property в Python
  10. Явный импорт в Python
  11. Оптимизация памяти с помощью __slots__
  12. Определение объема памяти объекта
  13. Символ подчеркивания в Python
  14. Модуль pprint
  15. Операция += для списков
  16. Модуль itertools: комбинации и перестановки
  17. Срезы в Python
  18. Объединение словарей в Python
  19. Библиотека schedule: планировщик задач
  20. Переопределение метода len
  21. Замена подстроки
  22. Удаление первого элемента списка
  23. Структурирование именованных констант
  24. Работа со словарями Python
  25. Сортировка с помощью параметра key
  26. Форматирование строк в Python
  27. Создание именованных кортежей в Python
  28. Разделение функций на этапы
  29. Установка и использование Telegram API в Python
  30. Создание класса очереди
  31. Получение пути к текущему скрипту с помощью os
  32. Python и Монти Пайтон
  33. Упрощение условных выражений с тернарным оператором
  34. Работа с NumPy массивами
  35. Создание виртуальной среды
  36. Регистрация на курсы SF Education
  37. Преобразование строк в числа в Python
  38. Различия символов в Python
  39. Добавление Progressbar в Python
  40. Методы работы со списками
  41. Многопоточность и асинхронное программирование в Python
  42. Counter() — подсчет элементов
  43. Работа с комплексными числами в Python
  44. Округление в Python
  45. Очистка данных с помощью pandas
  46. Преобразование данных в Python

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