Курс 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. Управление IP-адресами через прокси
  2. Декораторы в Python
  3. Обновление шаблона base.html
  4. Проверка строки на палиндром
  5. Enum в Python
  6. Асинхронное выполнение задач в процессах
  7. Модуль Operator в Python
  8. Декораторы в Python
  9. Виртуальные среды в Python
  10. Python 3.12: Псевдонимы типов
  11. Список переменных в Python
  12. Очистка данных в Python
  13. Улучшение читаемости кода в Python
  14. Показ всплывающих окон Tkinter
  15. Работа с путями в Python
  16. Сравнение строк в Python
  17. Создание namedtuple из словаря
  18. Извлечение новостей с помощью newspaper3k
  19. Срезы в Python
  20. Секреты Python
  21. Замена символов в Python
  22. Форматирование строк в Python
  23. Работа с файлами в Python
  24. Модуль functools в Python
  25. Проверка условий: all и any
  26. Подсчет частотности элементов в Python
  27. Проверка элемента в множестве.
  28. Создание объекта времени
  29. Ускорение кода с помощью векторизации
  30. Назначение максимального и минимального значения переменной в Python.
  31. Декоратор проверки активности
  32. Работа с модулем glob в Python
  33. Лямбда-функции в defaultdict
  34. Декораторы в Python
  35. Метод rlshift для битового сдвига
  36. Пересечение списков с использованием множеств
  37. Подсчет элементов с помощью Counter
  38. Создание уникального множества
  39. Antigravity модуль
  40. Генератор данных в Keras
  41. Удаление дубликатов из списка
  42. Возврат нескольких значений
  43. Поиск индекса элемента
  44. Идентификатор объекта в Python
  45. Библиотека Chartify: руководство
  46. Итерация по итерируемым объектам

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