Курс 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. Работа с Telegram API на Python
  2. Очистка входных данных
  3. Переворот строки
  4. Обработка ошибок в Python
  5. Перехват исключений в Python
  6. Проблемы с именами переменных
  7. Получение текущей директории
  8. Создание генераторов в Python
  9. Функции в Python: создание и вызов
  10. Работа с аргументами командной строки в Python
  11. Извлечение новостей с помощью newspaper3k
  12. Множественное назначение в Python
  13. Работа с изображениями Pillow
  14. Функция enumerate() — Python
  15. Получение атрибутов и методов класса
  16. Подсчет элементов с помощью Counter
  17. Декоратор total_ordering для сравнения объектов
  18. Нан-рефлексивность в Python
  19. Defaultdict в Python
  20. Python enumerate() для работы с индексами
  21. Именование столбцов в Python с pandas
  22. Разделение строк в Python
  23. Проверка условий: all и any
  24. Изучение объектов с помощью dir()
  25. Numpy: объединение массивов
  26. Импорт модулей в Python 3.12
  27. Dict Comprehension в Python
  28. Метод __irshift__ для побитового сдвига вправо
  29. Печать календаря
  30. Комментарии в Python
  31. Импорт в Python: список all
  32. Экранирование символов в Python
  33. Структуры данных в Python
  34. Работа с SQLite в Python
  35. Работа с timedelta в Python
  36. Удаление дубликатов с помощью множеств
  37. Удаление ключа из словаря
  38. Методы list в Python
  39. Возведение в квадрат с помощью itertools
  40. Функции в одну строку
  41. Модуль antigravity: генерация координат
  42. Игра «Камень, ножницы, бумага» — Python
  43. Получение значений из словарей
  44. Модуль Antigravity в Python 3
  45. Конвертация коллекций в Python.

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