Курс 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. Работа с аргументами командной строки
  4. Списки в Python
  5. Импорт модулей в Python 3.12
  6. Работа с изменяемыми списками
  7. Строки в Python: апострофы и кавычки
  8. Python Enum Weekday Usage
  9. Срез списка в Python
  10. Копирование и вставка текста в Python
  11. Создание новых списков в Python
  12. Combobox в Tkinter
  13. Метод ifloordiv для пользовательских классов
  14. Работа с буфером обмена на Python
  15. Отступы в Python
  16. Функции min(), max(), sum()
  17. Настройка Cron
  18. Отображение графиков в Jupyter с Matplotlib
  19. Делегирование в Python
  20. Python: отсутствие точек с запятыми
  21. Автоматизация с Python
  22. Генерация случайных чисел в Python
  23. Сравнение объектов в Python
  24. Работа с файловой системой в Python
  25. Тайное преобразование типа ключа
  26. Конкатенация строк с методом join()
  27. Управление асинхронными задачами с помощью Semaphore
  28. Использование функции product
  29. Лямбда-функции в Python
  30. Деление в Python
  31. Функция enumerate() в Python
  32. Объединение списков в Python.
  33. Работа с zip-архивами в Python
  34. Установка и использование pyshorteners
  35. Метод rmatmul для обратного матричного умножения
  36. Импорт модулей в Python 3.12
  37. Параллельные вычисления в Python
  38. Аннотации типов в Python
  39. Нарезка списков в Python
  40. Перегрузка операторов в Python
  41. Загрузка постов Instagram
  42. Операции с числами в Python
  43. Операции с комплексными числами
  44. Декораторы в Python
  45. Определение размера папок в Python
  46. Вычисление разности множеств в Python
  47. Выражения-генераторы в Python
  48. Документация функции help() в Python
  49. Функции-генераторы в Python
  50. Возврат нескольких значений из функции

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