Курс 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. Установка и использование howdoi
  2. Управление памятью в numpy.
  3. Конкатенация строк в Python
  4. Конвертация коллекций в Python.
  5. Фильтрация списков с itertools
  6. Переименование файлов в Python
  7. SciPy: широкий функционал для математических операций
  8. Вакансии в Nebius
  9. Введение в PyTorch
  10. Копирование файлов с shutil()
  11. Распаковка аргументов в Python
  12. Метод radd для пользовательских чисел
  13. Использование двоеточия в Python
  14. Установка и использование pyshorteners
  15. Простой калькулятор Python
  16. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  17. Комментарии в Python
  18. Объединение словарей в Python
  19. Перегрузка операторов в Python
  20. Удаление элемента по индексу в Python
  21. Проверка строки на палиндром
  22. Метод join() с набором
  23. Декораторы в Python
  24. Заказ карты Тинькофф Black
  25. Измерение потребления памяти при сортировке
  26. Создание циклической ссылки
  27. Оператор морж в Python 3.8
  28. История Python
  29. Роль запятой в Python
  30. Списки: объединение, изменение
  31. Декораторы в Python
  32. Декодирование байтов в строку
  33. Работа с множествами в Python
  34. Изменения в обработке логических значений
  35. Работа с эмодзи в Python
  36. Python union() функция — объединение множеств
  37. Удаление ключей из словаря
  38. Руководство по Pymorphy2
  39. Импортирование в Python
  40. Поиск уникальных элементов строкой в Python
  41. Глобальные переменные в Python
  42. discard() — удаление элемента из множества
  43. Особенности ключей словаря в Python
  44. Форматирование строк в Python
  45. Модуль itertools: комбинации и перестановки
  46. Обезопасьте ввод данных
  47. Метод join() для объединения элементов строки
  48. Работа с кортежами

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